Binära datatyper Beskrivning För att lagra raden binär data, till exempel bilder, i en hexadecimalliknande notering, upp till en längd på (32K 1) byte. UNIQUEIDENTIFIER-datatypen används för lagring av UUID-värden (även känd som GUID). Binär data börjar med tecknen 0x eller 0X och kan innehålla alla kombinationer av siffror och stora bokstäver och små bokstäver A till F. Du kan ange kolumnlängden i byte eller använda standardlängden på 1 byte. Varje byte lagrar 2 hexadecimala siffror. Även om standardlängden är 1 byte rekommenderar Sybase att du alltid anger ett jämnt antal tecken för BINARY och VARBINARY kolumnlängd. Om du anger ett värde längre än den angivna kolonnlängden, avkortar Sybase IQ inmatningen till angiven längd utan varning eller fel. BINARY Binär data med längdlängdbyte. Om längden utelämnas är standard 1 byte. Maximalt tillåten storlek är 255 byte. Använd binär typ BINARY med fast längd för data där alla poster förväntas vara ungefär lika långa. Eftersom poster i BINARY-kolumner är nollpolstrade till kolonnlängdslängden. De kan behöva mer lagringsutrymme än poster i VARBINÄRA kolumner. VARBINÄR Binär data upp till en längd av maxlängden byte. Om maxlängden utelämnas är standard 1 byte. Maximalt tillåten storlek är (32K 1) byte. Använd den binära typen VARBINARY för variabellängd för data som förväntas variera kraftigt. Som ett separat licensierat alternativ stöder Sybase IQ binära stora objekt (BLOB) data med en längd från noll (0) till 512TB (terabyte) för en IQ-sidstorlek på 128KB eller 2PB (petabyter) för en IQ-sidstorlek på 512KB. Maximal längd är lika med 4GB multiplicerad med databasens sidstorlek. Se Stora objekthantering i Sybase IQ. För information om LONG BINARY och IMAGE datatyper, se Binära datatyper. Behandling av efterföljande nollor Alla BINARY-kolonner är vadderade med nollor till kolonnens fulla bredd. Nollbultar är avkortade i alla VARBINÄRA kolumner. I följande exempel skapas en tabell med alla fyra variationerna av BINARY och VARBINARY datatyper definierade med NULL och NOT NULL. Samma data infogas i alla fyra kolumnerna och är vadderade eller avkortade enligt kolumndatatypen. Beroende på plattformen Den exakta form som du anger ett visst värde beror på vilken plattform du använder. Därför kan beräkningar med binär data ge olika resultat på olika maskiner. För plattformsoberoende konverteringar mellan hexadecimala strängar och heltal använder du INTTOHEX - och HEXTOINT-funktionerna i stället för den plattformsspecifika CONVERT-funktionen. För detaljer, se avsnittet Konverteringsfunktioner för datatyp. Stringsoperatörer Konkurrenssträngoperatörerna och båda stöder binär typdata. Explicit konvertering av binära operander till teckendatatyper är inte nödvändig hos operatören. Explicit och implicit datakonvertering ger emellertid olika resultat. Begränsningar av BINARY och VARBINARY data Följande begränsningar gäller för kolumner som innehåller BINARY och VARBINARY data: Du kan inte använda aggregatfunktionerna SUM. AVG. STDDEV. eller VARIANCE med binära datatyper. Aggregatet fungerar MIN. MAX. och COUNT stöder de binära datatyperna BINARY och VARBINARY. HNG. WD. DATUM . TID. och DTTM-index stöder inte BINARY eller VARBINARY data. Endast standardindex och CMP-indextyper stöds för VARBINAR-data som är större än 255 byte i längd. Bitoperationer stöds på BINARY och VARBINARY data som är 8 byte eller mindre i längd. Kompatibilitet Behandlingen av efterföljande nollor i binär data skiljer sig mellan Sybase IQ, SQL Anywhere och Adaptive Server Enterprise: Tabell 3-4: Behandling av efterföljande nollor Avkortad, inte vadderad Adaptive Server Enterprise, SQL Anywhere och Sybase IQ stöder STRINGRTRUNCATION-databasen alternativ, som påverkar felmeddelande rapportering när en INSERT eller UPDATE-sträng är avkortad. För Transact-SQL-kompatibla strängsammanställningar, sätt STRINGRTRUNCATION-alternativet till samma värde i båda databaserna. Du kan också ställa in STRINGRTRUNCATION-alternativet ON när du laddar data i en tabell för att varna dig om att data är för stora för att läsa in i fältet. Standardvärdet är PÅ. Bitoperationer på binär typdata stöds inte av Adaptive Server Enterprise. SQL Anywhere stöder endast bitoperationer mot de första fyra bitarna av binär typdata. Sybase IQ stöder bitoperationer mot de första åtta bitarna av binär typdata. UNIQUEIDENTIFIER Används för lagring av UUID-värden (även känd som GUID). UNIQUEIDENTIFIER datatyp används ofta för en primär nyckel eller annan unik kolumn för att hålla UUID-värden (universellt unika identifierare) som kan användas för att unikt identifiera rader. NEWID-funktionen genererar UUID-värden på ett sådant sätt att ett värde som produceras på en dator inte matchar en UUID som produceras på en annan dator. UNIQUEIDENTIFIER-värden som genereras med NEWID kan därför användas som nycklar i en synkroniseringsmiljö. Till exempel uppdaterar följande uttalande tabellen mytab och sätter värdet för kolumnen uidcol till en unik identifierare som genereras av NEWID-funktionen, om nuvarande värde för kolumnen är NULL. Om du utför följande påstående returneras den unika identifieraren som en BINARY (16). Till exempel kan värdet vara 0xd3749fe09cf446e399913bc6434f1f08. Du kan konvertera denna sträng till ett läsbart format med funktionen UUIDTOSTR (). UUID-värden kallas också GUIDs (globalt unikt identifierare). Funktionerna STRTOUUID och UUIDTOSTR används för att konvertera värden mellan UNIQUEIDENTIFIER och strängrepresentationer. UNIQUEIDENTIFIER värden lagras och returneras som BINARY (16). Eftersom UNIQUEIDENTIFIER-värdena är stora, använder UNSIGNED BIGINT eller UNSIGNED INT-identitetskolumner istället för UNIQUEIDENTIFIER effektivare om du inte behöver unika identifierare för korsdatabaser. Standarder och kompatibilitet för UNIQUEIDENTIFIER SQL92-leverantörstillägg. Sybase Stöds av SQL Anywhere. Inte stöds av Adaptive Server Enterprise. Bakåtkompatibilitet I databaser skapade före Sybase IQ version 12.7, STRTOUUID. UUIDTOSTR. och NEWID-funktioner stöddes genom CIS-funktionskompensation. I versioner 15.1 och senare, STRTOUUID. UUIDTOSTR. och NEWID-funktioner är inbyggda Sybase IQ-funktioner. För mer information relaterad till UNIQUEIDENTIFIER: SAP Sybase IQ Unstructured Data Analytic (UDA) alternativet utsträcker SAP Sybase IQs förmåga att göra textanalys (data mining). Det här alternativet gör det möjligt att skapa kolumner för stora tecken (CLOB) och binära stora objekt som används för att lagra och hantera binära dokument (som MS Excel, MS-ord osv.) Och långa textkolumner (filtrerat innehåll i binära objekt). För att få insikt från CLOB måste vi indexera dessa kolumner och använda strängfunktioner för att hämta, jämföra och extrahera information. En fallkänslig databas kan: Lägg till komplexitet i gruvprocessen genom att kräva komplexa frågor predicates och, Ge plats till utelämningar på grund av möjliga kombinationer av stor och små bokstäver (felaktigt eller ej). Det finns flera alternativ som kan användas för att minimera effekterna av fallkänslighet vid datautvinning, se några av dem: Använd alla möjliga kombinationer av stora och små bokstäver i predicaten av dina frågor (många möjligheter, rekommenderas inte). Använd funktionen i predikatorns förfrågningar för att konvertera kolumnens innehåll till stora eller små bokstäver innan du använder en jämförelseoperatör. Välj från MyUser. Mytable Där lcase (mycolum) som lsquoterm8217 Det fungerar bra för strängkolumner som inte är CLOB Funktionen LCASE, UCASE, LOWER och UPPER stöds inte på kolumnerna CLOB-datatyp. Konvertera den förfiltrerade texten till stor eller små bokstäver innan du lagrar den i CLOB-kolumnen, använd samma fall i alla predikat av dina frågor. Skapa databasen med alternativet CASE IGNORE Detta alternativ kan inte ändras efter att databasen har skapats. Om SAP Sybase IQ-databasen kommer att användas som primär för datautvinning och fallet kan ignoreras, rekommenderas att skapa databasen med CASE IGNORE-egenskapen som standard, alla SAP Sybase IQ-databaser skapas med CASE RESPECT-egenskapen. LAD TABLE statement DATETIME MMDDYY hh: mm: ssaa) Sybase IQ har inbyggda belastningsoptimeringar för vanliga datum, tid och datetimeformat. Om dina data som ska laddas överensstämmer med ett av dessa format kan du minska laddningstiden avsevärt genom att använda det lämpliga formatet. För en lista över dessa format och detaljer om hur du optimerar prestanda när du fyller i datum och datetime-data, se Kapitel 7, Flytta data in och ut ur databaser i Sybase IQ System Administration Guide. Du kan också ange datetime-fältet som ett ASCII-fält med fast bredd (som beskrivet ovan) och använd alternativet FILLER (1) för att hoppa över kolumnavgränsaren. Mer information om hur du specificerar datum - och tidsdata finns i datatyper Datum och tid eller Kapitel 7, Flytta data in och ut ur databaser i Sybase IQ System Administration Guide. NULL-delen av kolumnspecifikationen anger hur du behandlar vissa inmatningsvärden som NULL-värden när du laddar in i tabellkolumnen. Dessa tecken kan innehålla BLANKS, ZEROS eller någon annan lista över bokstäver du definierar. När du anger ett NULL-värde eller läser ett NULL-värde från källfilen måste destinationskolumnen innehålla NULLs. ZEROS tolkas enligt följande: cellen är inställd på NULL om (och endast om) ingångsdata (före konvertering, om ASCII) är alla binära nollor (och inte tecken nuller). Om ingångsdata är tecken noll, gör följande: NULL (ZEROS) får aldrig cellen att vara NULL. NULL (0) får cellen att vara NULL. Om ingångsdata är binär nolla (alla bitar raderas), då: NULL (ZEROS) får cellen att vara NULL. NULL (0) orsakar aldrig att cellen är NULL. Till exempel, om ditt LOAD-meddelande innehåller col1 date (yymmdd) null (nollor) och datumet är 000000 får du ett fel som indikerar att 000000 inte kan konverteras till en DATE (4). För att få belastning att infoga ett NULL-värde i col1 när data är 000000, skriv NULL-klausulen som null (000000). eller ändra data till lika binära nollor och använd NULL (ZEROS). Om längden på en VARCHAR-cell är noll och cellen inte är NULL, får du en nolllängdcell. För alla andra datatyper, om cellens längd är noll, sätter Sybase IQ ett NULL. Detta är ANSI-beteende. För icke-ANSI-behandling av nolllängdskaraktärdata, ställ in NonAnsiNullVarchar-databasalternativet. En annan viktig del av lastspecifikationen är FILLER-alternativet. Det indikerar att du vill hoppa över ett angivet fält i källinmatningsfilen. Till exempel kan det finnas tecken i slutet av rader eller till och med hela fält i de inmatningsfiler som du inte vill lägga till i tabellen. Precis som i kolumnspecifik definitionen kan FILLER du ange ASCII-fast längd av byte, tecken med variabel längd avgränsad av en separator och binära fält med prefix-byte. filnamnsträng Filnamnsträngen överförs till servern som en sträng. Strängen är därför föremål för samma formateringskrav som andra SQL-strängar. I synnerhet: För att ange katalogvägar i Windows-system måste backslash-tecknet representeras av två backslashes. Därför är anmärkningen att ladda data från filen c: tempinput. dat till anställd tabellen: Banans namn är relativt databasservern, inte till klientprogrammet. Om du kör uttalandet på en databasserver på en annan dator, refererar katalognamnen till kataloger på serverns maskin, inte på klientmaskinen. Följande beskriver varje av klausulerna i uttalandet: WORD SKIP Tillåter att belastningen fortsätter när den möter data längre än gränsen som anges när ordindex skapades. Om en rad inte är laddad eftersom ett ord överskrider den maximala tillåtna storleken, skrivs en varning till. iqmsg-filen. Överträdelser av ordstorlek kan eventuellt loggas till MESSAGE LOG-filen och avvisade rader som är inloggade i ROW LOG-filen som anges i LOAD TABLE-förklaringen. Om alternativet inte är angivet, rapporterar LOAD TABLE ett fel och rullar tillbaka vid det första förekomsten av ett ord som är längre än den angivna gränsen. nummer anger hur många gånger ord som överskrider det maximala tillåtna ordlängden som inte stöds, ignoreras. 0 (noll) betyder att det inte finns någon gräns. QUOTES Denna parameter är valfri och standard är ON. När QUOTES är påslagna, förväntar LOAD TABLE att inmatningssträngar ska bifogas citattecken. Citattecknet är antingen en apostrof (ett citat) eller ett citatmärke (dubbel citat). Det första sådana tecknet som uppträder i en sträng behandlas som citattecken för strängen. Stringdata måste avslutas med ett matchande citat. Med QUOTES ON. kolumn - eller radavgränsningstecken kan inkluderas i kolumnvärdet. Ledande och slutliga citattecken antas inte vara en del av värdet och utesluts från det laddade datavärdet. Att inkludera ett citattecken i ett värde med QUOTES ON. använd två citat. Till exempel innehåller följande rad ett värde i den tredje kolumnen som är ett enda citattecken: Med STRIP aktiverat (standard), avlägsnas bakåtämnen från värden innan de sätts in. Spårämnen avlägsnas endast för icke-citerade strängar. Citerade strängar bibehåller sina efterföljande ämnen. Ledande tomma eller TAB-tecken trimmas endast när QUOTES-inställningen är PÅ. Datautvinningsanläggningen ger alternativ för hantering av citat (TEMPEXTRACTQUOTES. TEMPEXTRACTQUOTESALL. Och TEMPEXTRACTQUOTE). Om du planerar att ladda tillbaka den extraherade filen med strängfält som innehåller kolumn - eller radavgränsare under standard ASCII-extraktion, använd alternativet TEMPEXTRACTBINARY för extraktet och FORMAT binära och QUOTES OFF-alternativen för LOAD TABLE. Alternativet QUOTES ON gäller endast kolumnavgränsade ASCII-fält. Med QUOTES ON. Den första bokstaven för en kolumnavgränsare eller radterminator kan inte vara ett enda eller dubbelt citatmärke. QUOTES-alternativet gäller inte för att ladda data från binärt stort objekt (BLOB) eller CLOB-data från sekundärfilen, oavsett inställning. Ett ledande eller efterföljande citat laddas som en del av CLOB-data. Två på varandra följande citat mellan omslutande citat laddas som två på varandra följande citat med alternativet QUOTES ON. Adaptive Server Enterprise BCP stöder inte QUOTES-alternativet. Alla fältdata kopieras in eller ut motsvarar inställningen QUOTES OFF. Eftersom QUOTES ON är standardinställningen för Sybase IQ LOAD TABLE-satsen måste du ange QUOTES OFF när du importerar ASE-data från BCP-utdata till en Sybase IQ-tabell. Om LOAD TABLE möter några icke-vita tecken efter slutkittecken för ett sluten fält, rapporteras följande fel och lastoperationen rullas tillbaka: Non-SPACE-text som finns efter avslutad citattecken för ett slutet fält. SQLSTATE: QTA14 SQLCODE: -1005014L Med QUOTES ON. Om en enkel eller dubbel citat anges som kolumnavgränsarens första tecken, rapporteras ett fel och lastoperationen misslyckas: Enstaka eller dubbla citattecken kan inte vara den första bokstaven för kolumnavgränsare eller radavslutare med QUOTES-alternativet ON. SQLSTATE: QCA90 SQLCODE: -1013090L CHECK CONSTRAINTS Detta alternativ är standard på ON. När du anger CHECK CONSTRAINTS ON. kontrollera begränsningar utvärderas och du är fri att ignorera eller logga in. Inställning CHECK CONSTRAINTS OFF gör att Sybase IQ ignorerar alla kontrollbegränsningsbrott. Detta kan vara användbart, till exempel vid databasåterbyggnad. Om ett bord har kontrollbegränsningar som kallar användardefinierade funktioner som ännu inte har skapats, misslyckas ombyggnaden om inte detta alternativ är inställt på OFF. Detta alternativ utesluter varandra med följande alternativ. Om något av dessa alternativ anges i samma belastning, resulterar ett fel: IGNORE CONSTRAINT ALL IGNORE CONSTRAINT CHECK DEFAULTS Om alternativet DEFAULTS är ON (standard) och kolumnen har ett standardvärde används det värdet. Om alternativet DEFAULTS är AV är någon kolumn som inte finns i kolumnlistan tilldelad NULL. Inställningen för alternativet DEFAULTS gäller för alla kolumn DEFAULT-värden, inklusive AUTOINCREMENT. För detaljerad information om användningen av kolumn DEFAULT-värden med belastningar och insatser, se Använda kolumnvärden i kapitel 9, Säkerställa dataintegritet i Sybase IQ System Administration Guide. ESCAPES Om du lämnar en kolumnspecifik definition för ett inmatningsfält och ESCAPES är ON (standard), kännetecknas tecken som följer backslash-tecknet och tolkas som specialtecken av databasservern. Newline-tecken kan inkluderas som kombinationen n, andra tecken kan inkluderas i data som hexadecimal ASCII-koder, till exempel x09 för fliktecken. En sekvens av två backslash-tecken () tolkas som en enda backslash. För Sybase IQ måste du ställa in det här alternativet. FORMAT Sybase IQ stöder ASCII och binära inmatningsfält. Formatet definieras vanligtvis av kolumnspecifikationen som beskrivs ovan. Om du släpper bort den definitionen för en kolumn använder Sybase IQ som standard det format som definieras av det här alternativet. Inmatningslinjer antas ha ascii (standard) eller binära fält, en rad per rad, med värden separerade av kolumnavgränsningstecken. DELIMITED BY Om du släpper bort en kolumnavgränsare i kolumnspecifik definitionen är standard kolumnavgränsningskaraktär ett komma. Du kan ange en alternativ kolumnavgränsare genom att tillhandahålla ett enda ASCII-tecken eller den hexadecimala teckenrepresentationen. DELIMITED BY-klausulen är enligt följande: För att använda newline-tecknet som en avgränsare kan du ange antingen den speciella kombinationen n eller dess ASCII-värde x0a. Även om du kan ange upp till fyra tecken i kolumnspecifik avgränsningssträng. Du kan bara ange ett enda tecken i DELIMITED BY-klausulen STRIP Med STRIP aktiverat (standard), spärrämnen avlägsnas från värden innan de sätts in. Detta gäller endast för VARCHAR-data som inte gäller för ASCII-fixbreddinsatser. För att stänga av STRIP-alternativet är klausulen följande: Spårämnen avlägsnas endast för icke-noterade strängar. Citerade strängar bibehåller sina efterföljande ämnen. Alternativt kan alternativet FILLER låta dig vara mer specifikt i antalet byte att ta bort i stället för alla efterföljande utrymmen. Det är mer effektivt för Sybase IQ att ha det här alternativet, och det följer ANSI-standarden när det handlar om efterföljande ämnen. (char data är alltid vadderad, så det här alternativet påverkar bara varchar data.) MED CHECKPOINT Standardinställningen är AV. Om den är inställd på ON, utfärdas en kontrollpunkt efter att ha slutfört och loggat utdraget. Om MED CHECKPOINT ON inte är specificerat, och återhämtning krävs senare, behövs datafilen som används för att ladda tabellen för att återhämtningen ska slutföras. Om MED CHECKPOINT ON är specificerat och återhämtning efterhand krävs, börjar den efter kontrollpunkten och datafilen behöver inte vara närvarande. BLOCK FACTOR Anger blockeringsfaktor eller antal poster per block som användes när ett tejp skapades. Detta alternativ är inte giltigt för inlägg från inmatningsfält med variabel längd, använd alternativet BLOCKSIZE istället. Det påverkar emellertid alla filinsatser (inklusive från disk) med inmatningsfält med fast längd och det kan dramatiskt påverka prestanda. Du kan inte ange det här alternativet tillsammans med alternativet BLOCK SIZE. Standardvärdet är 10 000. BLOCK SIZE Anger standardstorleken i byte där inmatning ska läsas. Det här alternativet påverkar endast variabel längd ingångsdata som läses från filer som den inte är giltig för inmatningsfält med fast längd. Det liknar BLOCK FACTOR. men det finns inga begränsningar för förhållandet mellan rekordstorlek och blockstorlek. Du kan inte ange det här alternativet tillsammans med alternativet BLOCK FACTOR. Standardvärdet är 500 000. BYTE ORDER Anger byteordningen under läsningar. Det här alternativet gäller alla binära inmatningsfält. Om ingen definieras ignoreras det här alternativet. Sybase IQ läser alltid binär data i formatet som är inbyggt i maskinen som den körs på (standard är NATIVE). Du kan också ange: HÖG när multibytkvantiteter har hög orderbyte först (för stora endiska plattformar som Sun, IBM AIX och HP). LÅG när multibytkvantiteter har den låga ordningsbyten först (för små endianplattformar som Windows). LIMIT Anger det maximala antalet rader som ska införas i tabellen. Standardvärdet är 0 för ingen gräns. Maximalt är 2GB - 1. NOTIFY Anger att du meddelas med ett meddelande varje gång det angivna antalet rader har infogats i tabellen. Standardvärdet är varje 100 000 rader. Värdet på det här alternativet strider mot värdet av NOTIFYMODULUS-databasalternativet. PÅ FILFEL Anger åtgärden Sybase IQ tar när en inmatningsfil inte kan öppnas eftersom den inte existerar eller du har fel behörigheter att läsa filen. Du kan ange något av följande: ROLLBACK avbryter hela transaktionen (standard). FINISH avslutar de redan genomförda insatserna och avslutar lastoperationen. CONTINUE returnerar ett fel men hoppar bara över filen för att fortsätta lastoperationen. Du kan inte använda det här alternativet med insatser med partiell bredd. Endast en PÅ FILE ERROR-klausul är tillåten. PREVIEW Visar inmatningen av inmatningen i måltabellen inklusive startposition, namn och datatyp för varje kolumn. Sybase IQ visar denna information vid belastningens början. Om du skriver till en loggfil ingår denna information också i loggen. Det här alternativet är särskilt användbart med inmatningar med partiell bredd. RAD DELIMITED BY Anger en sträng upp till 4 byte i längd som indikerar slutet på en inmatningsrekord. Du kan bara använda det här alternativet om alla fält i raden är något av följande: Avgränsad med kolumnterminatorer Data definierad av kolumnens DATUM - eller DATETIME-fältalternativ ASCII-fält med fast längd Du kan inte använda det här alternativet om några inmatningsfält innehåller binära data. Med det här alternativet får en radterminator att alla saknade fält ställs in till NULL. Alla rader måste ha samma radavgränsare, och det måste skilja sig från alla kolumnavgränsare. Rad - och fältavgränsningssträngarna kan inte vara en första delmängd av varandra. Du kan till exempel inte ange som fältavgränsare och som radavgränsare, men du kan ange som fältavgränsare med den radavgränsaren. Om en rad saknar sina avgränsare returnerar Sybase IQ ett fel och rullar tillbaka hela belastningstransaktionen. Det enda undantaget är slutrapporten för en fil där den rullar tillbaka den raden och returnerar ett varningsmeddelande. På Windows visas en radavgränsare vanligen av den nya linjens tecken följt av vagnens returkaraktär. Det kan hända att du måste ange detta som avgränsningssträngen (se ovan för beskrivning) för antingen det här alternativet eller FILLER. SKIP Gör det möjligt att definiera ett antal rader för att hoppa över i början av inmatningstabellerna för denna belastning. Standardvärdet är 0. START RAD ID Anger rekordidentifikationsnumret för en rad i Sybase IQ-tabellen där den ska börja infoga. Det här alternativet används för inmatningar med partiell bredd, som sätter in i en delmängd av kolumnerna i tabellen. Som standard läggs nya rader överallt där det finns plats i tabellen, och varje insats startar en ny rad. Inlägg med delade bredder måste startas vid en befintlig rad. De måste också infoga data från källfilen till destinationstabellen positionellt genom kolumn, så du måste ange destinationskolumnerna i samma ordning som motsvarande källkolumner. Definiera formatet för varje ingångskolumn med en kolumnspecifikation. Standardinställningen är 0. Mer information om inmatningar med partiell bredd finns i Kapitel 7, Flytta data in och ut ur databaser i Sybase IQ System Administration Guide. Använd alternativet START RÅD-ID endast för partiella breddinsatser. Om de kolumner som laddas innehåller redan data, misslyckas insatsen. Lösenordsformat Anger att filen har Sybase IQ-internlastformat för varje kolumn som skapats av en tidigare version av Sybase IQ (före version 12.0). Det här alternativet för belastning har följande begränsningar: Du kan inte ange någon kolumnspecifikation (t. ex. ASCII eller PREFIX) för en annan kolumn än BINARY. Detta inkluderar NULL-specifikationerna. Om du behöver ladda nullvärden för en kolumn med BINARY-kolumnspecifik. du måste ange nyckelordet WITH NULL BYTE eller Sybase IQ returnerar ett fel. Du kan inte använda alternativen DELIMITED BY eller ROW DELIMITED BY med UNLOAD FORMAT. PÅ PARTIAL INPUT ROW Anger åtgärden som ska vidtas när en partiell ingångsrad uppträder under en belastning. Du kan ange något av följande: CONTINUE utfärdar en varning och fortsätter lastoperationen. Detta är standardvärdet. ROLLBACK avbryter hela belastningsoperationen och rapporterar felet. Delvis inmatningsrekord hoppas över på EOF. SQLSTATE: QDC32 SQLSTATE: -1000232L IGNORE CONSTRAINT Anger om du vill ignorera KONTROLL, UNIQUE, NULL, DATA VALUE och FOREIGN KEY Integritetsbegränsningsbrott som uppstår under en belastning och det maximala antalet överträdelser som ska ignoreras innan du initierar en återuppringning. Angivande av varje begränsningstyp har följande resultat: KONTROLLGRÄNS Om gräns specificerar noll är antalet otillbörliga begränsningsbegränsningar att ignorera oändlig. Om CHECK inte är angivet, orsakar den första förekomsten av någon KONTROLL-begränsningsbrott att LOAD-meddelandet rullar tillbaka. Om gränsen är nonzero, orsakar gränsen 1 förekomsten av en KONTROLL-begränsningsbrott att lasten rullar tillbaka. UNIQUE gräns Om gränsen anger noll, är antalet otillbörliga begränsningar som ska ignoreras oändligt. Om gränsen är nonzero, orsakar gränsen 1 förekomsten av en UNIQUE begränsningsbrott att lasten rullar tillbaka. NULL gräns Om gränsen anger noll, är antalet överträdelser för NULL-begränsningar att ignorera oändlig. Om gränsen är nonzero, orsakar gränsen 1 förekomsten av en NULL-begränsningsbrott att lasten rullar tillbaka. Utländsk tangentgräns Om gränsen anger noll är antalet oändliga strängbegränsningar som ska ignoreras oändliga. Om gränsen är ojämn, orsakar gränsen 1 förekomsten av en FOREIGN KEY-begränsningsbrott att lasten rullar tillbaka. DATA VALUE limit Om databasalternativet CONVERSIONERROR ON rapporteras ett fel och uttalandet rullar tillbaka. Om gränsen anger noll, är antalet överträdelser av DATA VALUE-begränsningar (datatypsomvandlingsfel) att ignorera oändlig. Om gränsen är nonzero, orsakar gränsen 1 förekomsten av en DATA VALUE-begränsningsbrott att lasten rullar tillbaka. ALL limit Om databasalternativet CONVERSIONERROR ON. Ett fel rapporteras och uttalandet rullar tillbaka. Om gränsen anger noll, är den kumulativa summan av all integritetsbegränsningsbrott att ignorera oändlig. Om gränsen är ojämn, laddas rullningen tillbaka när den kumulativa summan av alla ignorerad UNIQUE, NULL, DATA VALUE och FOREIGN KEY integrity constraint-överträdelser överskrider gränsvärdet. Till exempel anger du följande IGNORE CONSTRAINT-alternativ: Det totala antalet integritetsbegränsningsbrott kan inte överstiga 200, medan det totala antalet NULL och UNIQUE begränsningsbegränsningar inte får överstiga 50 respektive 100. När någon av dessa gränser överskrids rullar LOAD TABLE-räkningen tillbaka. En enda rad kan ha mer än en integritetsbegränsning. Varje förekomst av en integritetsbegränsningsbrott räknas mot gränsen för den typen av överträdelse. Sybase rekommenderar starkt att inställningsgränsen IGNORE CONSTRAINT ställs till ett icke-nollvärde om du loggar på överträdelserna om ignorerad integritetsbegränsning. Registrering av ett alltför stort antal överträdelser påverkar belastningens prestanda. Om KONTROLL, UNIQUE, NULL eller FOREIGN KEY inte anges i IGNORE CONSTRAINT-klausulen, rullas lasten tillbaka vid den första förekomsten av var och en av dessa typer av integritetsbegränsning. Om DATA VALUE inte anges i IGNORE CONSTRAINT-klausulen, rullar lasten tillbaka vid den första förekomsten av denna typ av integritetsbegränsning, om inte databasalternativet CONVERSIONERROR OFF. Om CONVERSIONERROR OFF. En varning rapporteras för eventuell DATA VALUE-begränsningsbrott och belastningen fortsätter. När belastningen slutförts loggas ett informationsmeddelande angående integritetsbegränsningsbrott i. iqmsg-filen. Det här meddelandet innehåller antalet integritetsbegränsningar som inträffade under belastningen och antalet rader som hoppades över. MESSAGE LOG Anger namnen på filer för att logga in information om brott mot integritetsbegränsningar och vilka typer av överträdelser som ska loggas. Timestämplar som anger start och slutförande av belastningen loggas både i MESSAGE LOG och ROW LOG-filerna. Både MESSAGE LOG och ROW LOG måste anges, eller ingen information om integritetsbrott loggas. Om KLEIN LOG-klausulen inte är angiven loggas inga uppgifter om integritetsbegränsningsbrott. Endast tidstämplar som anger start och slutförande av belastningen loggas. Information är inloggad på alla överträdelser av integritetsbegränsning som anges i CLASS LOG-klausulen eller för alla ordlängdsbrott om sökordet WORD är angivet. Om begränsningsbrottslingar loggas, genererar varje förekomst av en integritetsbegränsningsbrott exakt en rad information i MESSAGE LOG-filen. Antalet rader (fel rapporterade) i MESSAGE LOG-filen kan överstiga gränsen för IGNORE CONSTRAINT, eftersom belastningen utförs av flera trådar som kör parallellt. Mer än en tråd kan rapportera att antalet överträdelseöverträdelser har överskridit den angivna gränsen. Om begränsningsbrottslingar loggas, loggas exakt en rad information i ROGLOG-filen för en given rad, oavsett antalet brott mot integritetsbegränsningar som uppträder i den raden. Antalet separata fel i MESSAGE LOG-filen kanske inte exakt matchar antalet rader i ROW LOG-filen. Skillnaden i antalet rader beror på parallell bearbetning av belastningen som beskrivits ovan för MESSAGE LOG. MESSAGE LOG och ROW LOG-filerna kan inte vara råa partitioner. Om filen MESSAGE LOG eller ROW LOG redan finns finns nya uppgifter bifogade filen. Att ange ett ogiltigt filnamn för filen MESSAGE LOG eller ROW LOG genererar ett fel. Att ange samma filnamn för MESSAGE LOG och ROW LOG-filerna skapar ett fel. Olika kombinationer av alternativen IGNORE CONSTRAINT och MESSAGE LOG resulterar i olika loggningsåtgärder, som anges i tabell 6-11. Tabell 6-11: LOAD TABLE loggningsåtgärder IGNORE CONSTRAINT specificerat Inget loggas. Den första integritetsbegränsningsbrottet orsakar en återgång. Sybase rekommenderar starkt att gränsvärdet IGNORE CONSTRAINT ställs till ett icke-nollvärde, om du loggar in i de ignorerade integritetsbegränsningsöverträdelserna. Om en enda rad har mer än en integritetsbegränsning, skrivs en rad för varje överträdelse till MESSAGE LOG-filen. Registrering av ett alltför stort antal överträdelser påverkar belastningens prestanda. LOGG DELIMITED BY Anger separatorn mellan data värden i filen ROW LOG. Standardavskiljaren är ett komma. Side effects SQL92 Vendor extension. Sybase Not applicable. Permissions The permissions required to execute a LOAD TABLE statement depend on the database server - gl command line option, as follows: If the - gl option is set to ALL, you must be the owner of the table, have DBA authority, or have ALTER permission. If the - gl option is set to DBA, you must have DBA authority. If the - gl option is set to NONE, LOAD TABLE is not permitted. LOAD TABLE also requires an exclusive lock on the table.
No comments:
Post a Comment