Wednesday 25 October 2017

Sybase Iq Binære Alternativer


Binære datatyper Beskrivelse Hvis du vil lagre raske binære data, for eksempel bilder, i en hexadecimal-lignende notasjon, opp til en lengde på (32K 1) byte. UNIQUEIDENTIFIER datatypen brukes til lagring av UUID-verdier (også kjent som GUID). Binære data begynner med tegnene 0x eller 0X og kan inkludere en hvilken som helst kombinasjon av sifre og store og små bokstaver A til F. Du kan angi kolonnelengden i byte, eller bruke standardlengden på 1 byte. Hver byte lagrer 2 heksadesimale siffer. Selv om standardlengden er 1 byte, anbefaler Sybase at du alltid angir et jevnt antall tegn for BINARY og VARBINARY kolonnelengde. Hvis du oppgir en verdi lengre enn den angitte kolonnelengden, avkortes Sybase IQ oppføringen til den angitte lengden uten advarsel eller feil. BINARY Binær data med lengdelengdebyte. Hvis lengden er utelatt, er standard 1 byte. Maksimal tillatt størrelse er 255 byte. Bruk den binære typen BINARY med fast lengde for data der alle oppføringene forventes å være omtrent like lange. Fordi oppføringer i BINARY kolonner er nullpolstret til lengden på kolonnelengden. de kan kreve mer lagringsplass enn oppføringer i VARBINÆRE kolonner. VARBINÆR Binær data opptil en lengde på maksimal lengdebyte. Hvis makslengden utelates, er standard 1 byte. Maksimal tillatt størrelse er (32K 1) byte. Bruk variabel lengde binær type VARBINARY for data som forventes å variere sterkt i lengden. Som et separat lisensiert alternativ, støtter Sybase IQ binære store objekter (BLOB) data med en lengde som varierer fra null (0) til 512TB (terabyte) for en IQ-sidestørrelse på 128KB eller 2PB (petabytes) for en IQ-sidestørrelse på 512KB. Maksimal lengde er lik 4GB multiplisert med databasestørrelsen. Se Stor objekthåndtering i Sybase IQ. For informasjon om LONG BINARY og IMAGE datatyper, se Binære datatyper. Behandling av tilbakevendende nuller Alle BINARY kolonner er polstret med nuller i hele kolonnebredden. Nullstillingene er avkortet i alle VARBINÆRE kolonner. Følgende eksempel oppretter en tabell med alle fire variantene av BINARY og VARBINARY datatyper definert med NULL og NOT NULL. De samme dataene er satt inn i alle fire kolonnene og er polstret eller avkortet i henhold til datatypen til kolonnen. Platformavhengighet Det eksakte skjemaet som du angir en bestemt verdi avhenger av plattformen du bruker. Derfor kan beregninger som involverer binær data gi forskjellige resultater på forskjellige maskiner. For plattformuavhengige konverteringer mellom heksadesimale strenger og heltall, bruk INTTOHEX - og HEXTOINT-funksjonene i stedet for den plattformspesifikke CONVERT-funksjonen. For detaljer, se delen Datatype konverteringsfunksjoner. Stringoperatører Strekkoperatørene og begge støtter binær type data. Eksplisitt konvertering av binære operander til tegndatatyper er ikke nødvendig hos operatøren. Eksplisitt og implisitt datakonvertering gir imidlertid forskjellige resultater. Begrensninger av BINARY og VARBINARY data Følgende begrensninger gjelder for kolonner som inneholder BINARY og VARBINARY data: Du kan ikke bruke aggregatfunksjonene SUM. AVG. STDDEV. eller VARIANCE med binære datatyper. Aggregatet fungerer MIN. MAX. og COUNT støtter de binære datatypene BINARY og VARBINARY. HNG. WD. DATO . TID . og DTTM indekser støtter ikke BINARY eller VARBINARY data. Bare standardindeks - og CMP-indekstyper støttes for VARBINÆR data som er større enn 255 byte i lengde. Bitoperasjoner støttes på BINARY og VARBINARY data som er 8 byte eller mindre i lengde. Kompatibilitet Behandlingen av nulpunktene i binær data er forskjellig mellom Sybase IQ, SQL Anywhere og Adaptive Server Enterprise: Tabell 3-4: Behandling av nulpunktene Nedskåret, ikke polstret Adaptive Server Enterprise, SQL Anywhere og Sybase IQ støtter STRINGRTRUNCATION-databasen alternativet, som påvirker feilmeldingsrapportering når en INSERT eller UPDATE-streng er avkortet. For Transact-SQL-kompatible strengsammenligninger, sett STRINGRTRUNCATION-alternativet til samme verdi i begge databasene. Du kan også angi STRINGRTRUNCATION-alternativet PÅ når du laster inn data i en tabell for å varsle deg om at dataene er for store til å lastes inn i feltet. Standardverdien er PÅ. Bitoperasjoner på binære typen data støttes ikke av Adaptive Server Enterprise. SQL Anywhere støtter bare bitoperasjoner mot de første fire bytesene av binær type data. Sybase IQ støtter bitoperasjoner mot de første åtte bytene av binær type data. UNIQUEIDENTIFIER Brukes til lagring av UUID-verdier (også kjent som GUID). UNIQUEIDENTIFIER datatypen brukes ofte til en primærnøkkel eller annen unik kolonne for å holde UUID-verdier (Universally Unique Identifier) ​​som kan brukes til å identifisere rader unikt. NEWID-funksjonen genererer UUID-verdier på en slik måte at en verdi produsert på en datamaskin ikke samsvarer med en UUID produsert på en annen datamaskin. UNIQUEIDENTIFIER-verdier generert ved hjelp av NEWID kan derfor brukes som nøkler i et synkroniseringsmiljø. Følgende oppdatering oppdaterer for eksempel tabellen mytab og setter verdien av kolonnen uidcol til en unik identifikator generert av NEWID-funksjonen, hvis den nåværende verdien av kolonnen er NULL. Hvis du utfører følgende erklæring, returneres den unike identifikatoren som en BINARY (16). For eksempel kan verdien være 0xd3749fe09cf446e399913bc6434f1f08. Du kan konvertere denne strengen til et lesbart format ved hjelp av UUIDTOSTR () - funksjonen. UUID-verdier kalles også GUIDs (Globally Unique Identifier). STRTOUUID - og UUIDTOSTR-funksjonene brukes til å konvertere verdier mellom UNIQUEIDENTIFIER og strengrepresentasjoner. UNIQUEIDENTIFIER-verdiene lagres og returneres som BINARY (16). Fordi UNIQUEIDENTIFIER-verdiene er store, bruker UNSIGNED BIGINT eller UNSIGNED INT-identitetskolonner i stedet for UNIQUEIDENTIFIER effektivere, hvis du ikke trenger kryssdatabase unike identifikatorer. Standarder og kompatibilitet for UNIQUEIDENTIFIER SQL92 Vendor extension. Sybase Støttes av SQL Anywhere. Ikke støttet av Adaptive Server Enterprise. Bakoverkompatibilitet I databaser opprettet før Sybase IQ versjon 12.7, STRTOUUID. UUIDTOSTR. og NEWID-funksjoner ble støttet gjennom CIS funksjonell kompensasjon. I versjon 15.1 og senere, STRTOUUID. UUIDTOSTR. og NEWID-funksjonene er native Sybase IQ-funksjoner. For mer informasjon relatert til UNIQUEIDENTIFIER: SAP Sybase IQ Unstructured Data Analytic (UDA) alternativet utvider mulighetene til SAP Sybase IQ for å gjøre tekstanalyse (data mining). Dette alternativet gjør det mulig å lage kolonnene Character Large Objects (CLOB) og binære store objekter som brukes til å lagre og manipulere binære dokumenter (som MS Excel, MS-ord osv.) Og lange tekstkolonner (filtrert innhold av binære objekter). For å få innsikt fra CLOB, må vi indeksere disse kolonnene og bruke strengfunksjoner for å hente, sammenligne og trekke ut opplysninger. En saksensitiv databaser kan: Legg til kompleksitet i gruveprosessen ved å kreve komplekse spørringer predikater og Gi plass til utelatelser på grunn av mulige kombinasjoner av store og små bokstaver (feilaktig eller ikke). Det finnes flere alternativer som kan brukes til å minimere virkningen av saksfølsomhet under datautvinning, se noen av dem: Bruk alle mulige kombinasjoner av store og små bokstaver i predikatene til dine spørsmål (mange muligheter, ikke anbefalt). Bruk funksjon i predikatet av spørringene for å konvertere innholdet i kolonnen til store eller små bokstaver før du bruker en sammenligningsoperatør. Velg fra MyUser. Mytable Hvor lcase (mycolum) som lsquoterm8217 Dette fungerer bra for strengskolonner som ikke er CLOB funksjonen LCASE, UCASE, LOWER og UPPER støttes ikke på CLOB datatypekolonner. Konverter den forhåndsfiltrerte teksten til store eller små bokstaver før du lagrer den på CLOB-kolonnen, bruk samme sak i alt predikat av dine spørsmål. Opprett databasen med CASE IGNORE-alternativet, dette alternativet kan ikke endres etter at databasen er opprettet. Hvis SAP Sybase IQ-databasen vil bli primær brukt til datautvinning, og saken kan ignoreres, anbefales det å opprette databasen med CASE IGNORE-egenskapen som standard, alle SAP Sybase IQ-databaser er opprettet med CASE RESPECT-egenskap. LADTABELL-setning DATETID ( MMDDYY hh: mm: ssaa) Sybase IQ har innebygde lastoptimaliseringer for vanlige dato-, klokkeslett - og datetimeformater. Hvis dataene som skal lastes inn, samsvarer med et av disse formatene, kan du redusere belastningstiden betydelig ved å bruke riktig format. For en liste over disse formatene, og detaljer om optimalisering av ytelse når du laster dato og datetime data, se Kapittel 7, Flytte data inn og ut av databaser i Sybase IQ System Administration Guide. Du kan også spesifisere datetime-feltet som et ASCII-fast breddefelt (som beskrevet ovenfor), og bruk alternativet FILLER (1) for å hoppe over kolonnenavgrenseren. Hvis du vil ha mer informasjon om å angi dato og klokkedata, kan du se datatyper Dato og klokkeslett eller Kapittel 7, Flytte data inn og ut av databaser i Sybase IQ System Administration Guide. NULL-delen av kolonnespecifikasjonen angir hvordan du skal behandle visse inntastingsverdier som NULL-verdier når du laster inn i tabellkolonnen. Disse tegnene kan inkludere BLANKS, ZEROS, eller en annen liste over bokstaver du definerer. Når du angir en NULL-verdi eller leser en NULL-verdi fra kildefilen, må destinasjonskolonnen kunne inneholde NULLs. ZEROS tolkes som følger: cellen er satt til NULL hvis (og bare hvis) inngangsdataene (før konvertering, hvis ASCII) er alle binære nuller (og ikke tegn nuller). Hvis inngangsdata er tegn null, vil: NULL (ZEROS) aldri føre til at cellen er NULL. NULL (0) får cellen til å være NULL. Hvis inngangsdata er binær null (alle biter er klare), da: NULL (ZEROS) får cellen til å være NULL. NULL (0) fører aldri til at cellen er NULL. For eksempel, hvis LOAD-setningen inneholder col1 date (yymmdd) null (nuller) og datoen er 000000, mottar du en feil som indikerer at 000000 ikke kan konverteres til en DATE (4). For å få belastning til å sette inn en NULL-verdi i kol1 når dataene er 000000, skriv NULL-klausulen som null (000000). eller endre dataene til lik binære nuller og bruk NULL (ZEROS). Hvis lengden på en VARCHAR-celle er null og cellen ikke er null, får du en nulllengdescelle. For alle andre datatyper, hvis lengden på cellen er null, legger Sybase IQ inn en NULL. Dette er ANSI-oppførsel. For ikke-ANSI-behandling av nulllengde-tegndata, still inn NonAnsiNullVarchar-databasen. En annen viktig del av lastspesifikasjonen er FILLER-alternativet. Det indikerer at du vil hoppe over et spesifisert felt i kildeinngangsfilen. For eksempel kan det være tegn på slutten av rader eller til og med hele felt i de inntastede filene du ikke vil legge til i tabellen. Som med kolonnespesjonsdefinisjonen, lar FILLER deg spesifisere ASCII-fast lengde på byte, tegn med variabel lengde avgrenset av en separator og binære felt ved hjelp av PREFIX-byte. filnavn-streng Filenavnstrengen sendes til serveren som en streng. Strengen er derfor underlagt de samme formateringskravene som andre SQL-strenger. Spesielt: For å angi katalogbaner i Windows-systemer, må tilbakestrekkarakteren representeres av to tilbakekoblinger. Derfor er utsagnet for å laste data fra filen c: tempinput. dat til medarbeiderbordet: Banenavnet er i forhold til databaseserveren, ikke til klientprogrammet. Hvis du kjører setningen på en databaseserver på en annen datamaskin, refererer katalognavnet til kataloger på servermaskinen, ikke på klientmaskinen. Følgende beskriver hver av setningene i setningen: WORD SKIP Tillater lasten å fortsette når den møter data som er lengre enn grensen angitt når ordindeksen ble opprettet. Hvis en rad ikke er lastet fordi et ord overskrider maksimum tillatt størrelse, blir en advarsel skrevet til. iqmsg-filen. Overskridelser av ordstørrelse kan eventuelt logges til MESSAGE LOG-filen og avvist rader som er logget til ROW LOG-filen som er angitt i LOAD TABLE-setningen. Hvis alternativet ikke er angitt, rapporterer LOAD TABLE en feil og ruller tilbake ved første forekomst av et ord som er lengre enn den angitte grensen. tall angir antall ganger ordene som overskrider maksimal tillatt ordlengde ikke støttet feil, ignoreres. 0 (null) betyr at det ikke er noen grense. KVOTER Denne parameteren er valgfri og standard er PÅ. Når QUOTES er slått på, forventer LOAD TABLE at inntastingsstrenger skal være vedlagt i sitat tegn. Sitat karakteren er enten en apostrof (enkelt sitat) eller et sitatmerke (dobbelt sitat). Det første slikt tegn som oppstår i en streng, behandles som sitatkarakter for strengen. Stringdata må avsluttes med et matchende sitat. Med KVOTER PÅ. kolonne - eller radavgrensningsfigurer kan inkluderes i kolonneverdien. Ledende og slutte sitatkarakterer antas å ikke være en del av verdien og er utelatt fra den lastede dataværdi. Å inkludere et sitategn i en verdi med QUOTES ON. bruk to sitater. Følgende linje inkluderer for eksempel en verdi i den tredje kolonnen som er et enkelt anførselstegn: Med STRIP slått på (standard), fjernes bakkarene fra verdier før de settes inn. Trailingblanks er bare strippet for ikke-siterte strenger. Quoted strenger beholder sine etterfølgende emner. Ledende blanke eller TAB-tegn blir trimmet bare når QUOTES-innstillingen er PÅ. Datautvinningsanlegget gir muligheter for håndtering av sitater (TEMPEXTRACTQUOTES. TEMPEXTRACTQUOTESALL. Og TEMPEXTRACTQUOTE). Hvis du planlegger å laste tilbake den ekstraherte filen med strengfelter som inneholder kolonne - eller raddefinisjoner under standard ASCII-ekstraksjon, bruk TEMPEXTRACTBINARY-alternativet for ekstraktet og FORMAT-binære og QUOTES OFF-alternativene for LOAD TABLE. Alternativet QUOTES ON gjelder bare for kolonnegrensede ASCII-felt. Med KVOTER PÅ. Det første tegnet til en kolonneklemmer eller radterminator kan ikke være et enkelt eller dobbelt quote-merke. QUOTES-alternativet gjelder ikke for lasting av binære store objekter (BLOB) eller tegn storobjektdata (CLOB) fra sekundærfilen, uavhengig av innstillingen. Et ledende eller tilbakevendende sitat er lastet som en del av CLOB-data. To fortløpende sitater mellom omsluttende sitater lastes som to påfølgende citater med alternativet QUOTES ON. Adaptive Server Enterprise BCP støtter ikke QUOTES-alternativet. Alle feltdata kopieres inn eller ut, tilsvarende innstillingen QUOTES OFF. Som QUOTES ON er standardinnstillingen for Sybase IQ LOAD TABLE-setningen, må du angi QUOTES OFF når du importerer ASE-data fra BCP-utgang til en Sybase IQ-tabell. Hvis LOAD TABLE møter eventuelle ikke-hvite tegn etter slutttekstkarakteren for et lukket felt, blir følgende feil rapportert og lastoperasjonen rullet tilbake: Ikke-SPACE-tekst funnet etter sluttattesttekst for et lukket felt. SQLSTATE: QTA14 SQLCODE: -1005014L Med KVOTER PÅ. Hvis et enkelt eller dobbelt sitat er angitt som den første tegnet til kolonneavgrenseren, rapporteres en feil, og lastoperasjonen svikter: Enkelt eller dobbelt quote - merke kan ikke være det første tegnet av kolonneavgrensning eller radavslutning med QUOTES-alternativet PÅ. SQLSTATE: QCA90 SQLCODE: -1013090L CHECK CONSTRAINTS Dette alternativet er standard på ON. Når du angir CHECK CONSTRAINTS ON. sjekk begrensninger er vurdert og du er fri til å ignorere eller logge dem. Innstilling av KONTROLLER AV OFF gjør at Sybase IQ ignorerer alle kontrollbegrensningsbrudd. Dette kan være nyttig, for eksempel under databaseoppbygging. Hvis et bord har kontrollbegrensninger som kaller brukerdefinerte funksjoner som ennå ikke er opprettet, mislykkes ombygningen med mindre dette alternativet er satt til OFF. Dette alternativet er gjensidig utelukkende for følgende alternativer. Hvis noen av disse alternativene er angitt i samme belastning, oppstår en feil: IGNORE CONSTRAINT ALLE IGNORE CONSTRAINT CHECK DEFAULTS Hvis alternativet DEFAULTS er ON (standard) og kolonnen har en standardverdi, brukes denne verdien. Hvis alternativet DEFAULTS er AV, er en kolonne ikke tilstede i kolonnelisten tildelt NULL. Innstillingen for alternativet DEFAULTS gjelder for alle kolonne DEFAULT-verdier, inkludert AUTOINCREMENT. For detaljerte opplysninger om bruken av kolonne DEFAULT-verdier med masse og innsatser, se Bruke kolonneverdier i kapittel 9, Sikre dataintegritet i Sybase IQ System Administration Guide. ESCAPES Hvis du utelater en kolonnespesifikasjon for et inntastingsfelt og ESCAPES er ON (standard), blir tegn som følger tilbakestrekskarakteren, gjenkjent og tolket som spesialtegn ved databaseserveren. Newline-tegn kan inkluderes som kombinasjonen n, andre tegn kan inngå i data som heksadesimale ASCII-koder, for eksempel x09 for tabulator. En sekvens av to backslash-tegn () tolkes som en enkelt tilbakeslag. For Sybase IQ må du sette dette alternativet AV. FORMAT Sybase IQ støtter ASCII og binære inputfelt. Formatet er vanligvis definert av kolonnespesen beskrevet ovenfor. Hvis du utelater den definisjonen for en kolonne, bruker Sybase IQ som standard formatet som er definert av dette alternativet. Inngangslinjer antas å ha ascii (standard) eller binære felt, en rad per linje, med verdier adskilt av kolonnegrenserkarakteren. DELIMITED BY Hvis du utelater en kolonnegrens i kolonnespesifikasjonen, er standard kolonnekvotertegnet et komma. Du kan angi en alternativ kolonneavgrensning ved å gi et enkelt ASCII-tegn eller den heksadesimale tegnrepresentasjonen. DELIMITED BY-klausulen er som følger: For å bruke newline-karakteren som en avgrenser, kan du angi enten den spesielle kombinasjonen n eller dens ASCII-verdi x0a. Selv om du kan angi opptil fire tegn i kolonnespesifikasjonsstrengen. Du kan bare angi et enkelt tegn i DELIMITED BY-klausulen STRIP Med STRIP slått på (standard), blir bakspillene fjernet fra verdier før de settes inn. Dette gjelder kun for VARCHAR-data, det gjelder ikke for ASCII-fix-breddeinnsatser. For å slå STRIP-alternativet av, er klausulen som følger: Sporemner fjernes kun for ikke-merkede strenger. Quoted strenger beholder sine etterfølgende emner. Alternativt kan FILLER-alternativet være mer spesifikt i antall byte for å stripe i stedet for alle etterfølgende mellomrom. Det er mer effektivt for Sybase IQ å få dette alternativet av, og det overholder ANSI-standarden når det handler om etterfølgende emner. (karbondata er alltid polstret, så dette alternativet påvirker bare varchar data.) MED KONTROLL Standardinnstillingen er AV. Hvis den er satt til PÅ, utstedes et kontrollpunkt etter at du har fullført og logget opp setningen. Hvis WITH CHECKPOINT ON ikke er spesifisert, og gjenoppretting etterfølges, kreves datafilen som brukes til å laste tabellen, for at gjenopprettingen skal kunne fullføres. Hvis MED CHECKPOINT ON er spesifisert, og gjenoppretting etterfølges, begynner den etter kontrollpunktet, og datafilen trenger ikke å være tilstede. BLOCK FACTOR Angir blokkeringsfaktor, eller antall poster per blokk som ble brukt når et bånd ble opprettet. Dette alternativet er ikke gyldig for innlegg fra variabellengde-inputfelt, bruk BLOKKSIZE-alternativet i stedet. Det påvirker imidlertid alle filinnsatser (inkludert fra disk) med inntastingsfelt med fast lengde, og det kan påvirke ytelsen dramatisk. Du kan ikke angi dette alternativet sammen med alternativet BLOKSTØRRELSE. Standardinnstillingen er 10.000. BLOKSTØRRELSE Angir standardstørrelsen i byte der innspill skal leses. Dette alternativet påvirker kun variabel lengdeinngangsdata som leses fra filer, det er ikke gyldig for inntastingsfelt med fast lengde. Det ligner på BLOCK FACTOR. men det er ingen begrensninger på forholdet mellom rekordstørrelse og blokkstørrelse. Du kan ikke spesifisere dette alternativet sammen med alternativet BLOCK FACTOR. Standard er 500.000. BYTE ORDER Angir byte rekkefølge under leser. Dette alternativet gjelder for alle binære inngangsfelt. Hvis ingen er definert, ignoreres dette alternativet. Sybase IQ leser alltid binære data i formatet som er innfødt til maskinen den kjører på (standard er NATIVE). Du kan også spesifisere: HØY når multibytekvantiteter har høy rekkefølge byte først (for store endiske plattformer som Sun, IBM AIX og HP). LAV når multibytekvantiteter har den laveste rekkefølgen byte først (for små endianplattformer som Windows). LIMIT Angir det maksimale antall rader som skal settes inn i tabellen. Standard er 0 for ingen grense. Maksimum er 2GB - 1. NOTIFY Angir at du blir varslet med en melding hver gang det angitte antall rader er satt inn i tabellen. Standard er hver 100.000 rader. Verdien av dette alternativet tilsidesetter verdien av NOTIFYMODULUS-databasen alternativet. PÅ FIL FEIL Angir handlingen Sybase IQ tar når en fil ikke kan åpnes fordi den ikke eksisterer eller du har feil tillatelser til å lese filen. Du kan angi ett av følgende: ROLLBACK avbryter hele transaksjonen (standard). FINISH fullfører innsatsene som allerede er ferdigstilt, og avslutter lastoperasjonen. CONTINUE returnerer en feil, men hopper bare over filen for å fortsette lastoperasjonen. Du kan ikke bruke dette alternativet med innskrifter med delvis bredde. Bare en PÅ FIL FEIL klausul er tillatt. Forhåndsvisning Viser oppsettet til inngang i destinasjonstabellen, inkludert startposisjon, navn og datatype for hver kolonne. Sybase IQ viser denne informasjonen ved starten av lastprosessen. Hvis du skriver til en loggfil, er denne informasjonen også inkludert i loggen. Dette alternativet er spesielt nyttig med delvis breddeinnsatser. RAD DELIMITED BY Angir en streng opptil 4 byte i lengde som indikerer slutten av en inngangspost. Du kan bare bruke dette alternativet hvis alle feltene i raden er ett av følgende: Avgrenset med kolonneterminatorer Data definert av DATO - eller DATETIME-kolonnespesjonsalternativer ASCII-feltlengdefelt Du kan ikke bruke dette alternativet hvis noen innfeltfelt inneholder binære data. Med dette alternativet forårsaker en radterminator at eventuelle manglende felt blir satt til NULL. Alle rader må ha samme radavgrensere, og det må være forskjellig fra alle kolonnegrensere. Ror - og feltavgrensningsstrenger kan ikke være en første delmengde av hverandre. Du kan for eksempel ikke spesifisere som en feltavgrensning og som radavgrenseren, men du kan spesifisere som feltavgrenseren med den radeavgrenseren. Hvis en rad mangler sine avgrensere, returnerer Sybase IQ en feil og ruller tilbake hele lasttransaksjonen. Det eneste unntaket er den endelige oversikten over en fil der den ruller tilbake den raden og returnerer en advarselsmelding. På Windows er en radavgrensning vanligvis angitt av newline-tegnet etterfulgt av vognreturkarakteren. Du må kanskje spesifisere dette som avgrensningsstrengen (se ovenfor for beskrivelse) for enten dette alternativet eller FILLER. SKIP Lar deg definere et antall rader som kan hoppes over i begynnelsen av inntastetabellene for denne belastningen. Standard er 0. START RADID Angir rekordidentifikasjonsnummeret til en rad i Sybase IQ-tabellen der den skal begynne å sette inn. Dette alternativet brukes til innskudd med delvis bredde, som settes inn i en delmengde av kolonnene i tabellen. Som standard settes nye rader over hvor det er plass i tabellen, og hver innsats starter en ny rad. Delvis breddeinnsatser må starte på en eksisterende rad. De må også sette inn data fra kildefilen til destinasjonstabellen posisjonelt etter kolonne, så du må angi målkolonnene i samme rekkefølge som de tilsvarende kildekolonnene. Definer formatet til hver inngangskolonne med en kolonnespesifikasjon. Standardinnstillingen er 0. Hvis du vil ha mer informasjon om insider med delvis bredde, se Kapittel 7, Flytte data inn og ut av databaser i Sybase IQ System Administration Guide. Bruk alternativet START RAD ID-ID for bare innskudd med delvis bredde. Hvis kolonnene som lastes inn allerede inneholder data, svikter innsatsen ikke. UNLOAD FORMAT Angir at filen har Sybase IQ internlastformater for hver kolonne opprettet av en tidligere versjon av Sybase IQ (før versjon 12.0). Dette belastningsalternativet har følgende begrensninger: Du kan ikke spesifisere noen kolonnespesifikasjon (for eksempel ASCII eller PREFIX) for en annen kolonne enn BINARY. Dette inkluderer NULL-spesifikasjonene. Hvis du trenger å laste nullverdier for en kolonne ved hjelp av BINARY kolonne-spesifikasjonen. Du må angi nøkkelordet NULL BYTE eller Sybase IQ returnerer en feil. Du kan ikke bruke alternativene DELIMITED BY eller ROW DELIMITED BY med UNLOAD FORMAT. PÅ PARTIAL INPUT ROW Angir handlingen som skal treffes når en delvis inngangsrad oppstår under en belastning. Du kan angi ett av følgende: FORTSETT utsteder en advarsel og fortsetter belastningsoperasjonen. Dette er standard. ROLLBACK avbryter hele lastoperasjonen og rapporterer feilen. Delvis inngangspost hoppet over på EOF. SQLSTATE: QDC32 SQLSTATE: -1000232L IGNORE CONSTRAINT Angir om du vil ignorere KONTROLL, UNIQUE, NULL, DATAVÆRDI og UTENLANDSKE SØK-integritetsbegrensningsbrudd som oppstår under en belastning, og det maksimale antall brudd som skal ignoreres før du starter en tilbakeringing. Angi hver begrensningstype har følgende resultat: KONTROLL grense Hvis grensen angir null, er antall UNIQUE begrensninger for å ignorere uendelig. Hvis KONTROLL ikke er angitt, forårsaker den første forekomsten av eventuelle Krenkelsesklausuler LOAD-setningen å rulle tilbake. Hvis grensen er ikke-null, forårsaker grensen 1 for et KONTROLL-begrensningsbrudd at belastningen ruller tilbake. UNIQUE grense Hvis grense angir null, er antall uregelmessige brudd på å ignorere uendelig. Hvis grensen ikke er null, forårsaker grensen 1 for et UNIQUE begrensningsbrudd at belastningen ruller tilbake. NULL grense Hvis grense angir null, er antallet av NULL begrensningsbrudd for å ignorere uendelig. Hvis grensen er null, vil grensen 1 for et NULL-begrensningsbrudd føre til at lasten ruller tilbake. FORSKELLIG SØK-grense Hvis grensen spesifiserer null, er antall ULTIGE SØK-begrensningsbrudd å ignorere uendelig. Hvis grensen er null, vil grensen 1 for et FOREIGN KEY-begrensningsbrudd føre til at lasten ruller tilbake. DATAVÆRDI grense Hvis databasealternativet CONVERSIONERROR ON, rapporteres en feil og setningen ruller tilbake. Hvis grensen angir null, er antall DATA VALUE begrensningsbrudd (datatype konverteringsfeil) å ignorere uendelig. Hvis grensen er ikke-null, forårsaker grensen 1 for et DATA VALUE-begrensningsbrudd at belastningen ruller tilbake. ALLE grenser Hvis databasealternativet CONVERSIONERROR ON. en feil er rapportert og setningen ruller tilbake. Hvis grensen spesifiserer null, er den kumulative total av all integritetsbegrensning brudd å ignorere uendelig. Hvis grensen ikke er null, laster den tilbake når den kumulative summen av alle ignorerte UNIQUE, NULL, DATA VALUE og FOREIGN KEY integrity constraint overtredelser overskrider verdien av grensen. For eksempel angir du følgende IGNORE CONSTRAINT-alternativ: Det totale antall integritetbegrensningsbrudd kan ikke overstige 200, mens det totale antallet NULL og UNIQUE begrensningsbrudd ikke kan overstige 50 og 100. Når noen av disse grensene overskrides, ruller LOAD TABLE-setningen tilbake. En enkelt rad kan ha mer enn ett integritetbegrensningsbrudd. Hver forekomst av et integritetbegrensningsbrudd teller mot grensen for den typen brudd. Sybase anbefaler på det sterkeste å sette grenseverdien for IGNORE CONSTRAINT til en ikke-nullverdi hvis du logger på brudd på ignorert integritetsbegrensning. Logging av et overdreven antall brudd påvirker ytelsen til lasten. Hvis KONTROLL, UNIQUE, NULL eller ULOVLIG KEY ikke er spesifisert i IGNORE CONSTRAINT-klausulen, ruller belastningen tilbake ved den første forekomsten av hver av disse typer integritetbegrensningsbrudd. Hvis DATAVÆRDI ikke er spesifisert i IGNORE CONSTRAINT-klausulen, ruller belastningen tilbake ved den første forekomsten av denne typen integritetsbegrensning, med mindre databasealternativet CONVERSIONERROR OFF. Hvis CONVERSIONERROR OFF. En advarsel er rapportert for eventuelle DATA VALUE begrensningsbrudd, og belastningen fortsetter. Når lasten er fullført, logges en informasjonsmelding om integritetsbegrensningsbrudd i. iqmsg-filen. Denne meldingen inneholder antall integritetsbegrensningsbrudd som oppstod under belastningen og antall rader som ble hoppet over. MESSAGE LOG Angir navnene på filer der du skal logge inn informasjon om brudd på integritetsbegrensninger og hvilke bruddstyper som skal logges. Timestamps som angir start og ferdigstillelse av lasten, logges inn i både MESSAGE LOG og ROW LOG-filene. Både MESSAGE LOG og ROW LOG må angis, eller ingen informasjon om integritetsbrudd er logget. Hvis KUN LOG-klausulen ikke er spesifisert, logges ikke informasjon om integritetsbegrensningskrenkelser. Kun tidsstemplene som angir start og ferdigstillelse av lasten, logges. Informasjon er logget på alle brudd på integritetsbegrensningstype som er angitt i KUN LOG-klausulen eller for alle ordindekslengdebrudd hvis søkeordet WORD er spesifisert. Hvis begrensningsbrudd blir logget, genererer hver forekomst av et integritetbegrensningsbrudd nøyaktig en rad informasjon i MESSAGE LOG-filen. Antall rader (feil rapportert) i MESSAGE LOG-filen kan overstige alternativgrensen for IGNORE CONSTRAINT, fordi lasten utføres av flere tråder som kjører parallelt. Mer enn en tråd kan rapportere at antall begrensningsbrudd har overskredet angitt grense. Hvis begrensningsbrudd blir logget, logges nøyaktig én rad med informasjon i ROW LOG-filen for en gitt rad, uavhengig av antall integritetsbegrensningsbrudd som oppstår på den raden. Antall forskjellige feil i MESSAGE LOG-filen stemmer kanskje ikke nøyaktig med antall rader i ROW LOG-filen. Forskjellen i antall rader skyldes parallell behandling av lasten beskrevet ovenfor for MESSAGE LOG. MESSAGE LOG og ROW LOG-filene kan ikke være råpartisjoner. Hvis filen MESSAGE LOG eller ROW LOG allerede eksisterer, legges ny informasjon til filen. Angi et ugyldig filnavn for MESSAGE LOG eller ROW LOG-filen genererer en feil. Angi samme filnavn for MESSAGE LOG og ROW LOG-filene genererer en feil. Ulike kombinasjoner av alternativene IGNORE CONSTRAINT og MESSAGE LOG resulterer i forskjellige loggingshandlinger, som angitt i tabell 6-11. Tabell 6-11: LOAD TABLE logging actions IGNORE CONSTRAINT spesifisert Ingenting er logget. Det første integritetbegrensningsbrudd fører til tilbakelevering. Sybase anbefaler på det sterkeste å sette grenseverdien for IGNORE CONSTRAINT til en ikke-null-verdi, hvis du logger på brudd på ignorert integritetsbegrensning. Hvis en enkelt rad har mer enn ett integritetbegrensningsbrudd, skrives en rad for hvert brudd til MESSAGE LOG-filen. Logging av et overdreven antall brudd påvirker ytelsen til lasten. LOGG DELIMITED BY Angir separatoren mellom dataverdiene i ROW LOG-filen. Standard separatoren er et komma. Bivirkninger SQL92 Vendor forlengelse. 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