Erstatningserklæringen i SQLite fungerer på ideen om at når unike eller primære nøkkelbegrensninger mislykkes, vil den eliminere den problematiske oppføringen og sette inn en ny rad. I SQLite utfører erstatningskommandoen vanligvis en totrinns operasjon. Den første er at den starter med å slette posten som bryter begrensningen, og den andre er å legge til en annen rad. Så hvis det er en begrensning av begrensningen i det andre trinnet når du setter inn en ny oppføring, vil transaksjonen bli rullet tilbake.
Med et eksempel lærer vi om SQLite -erstatningsuttalelser og hvordan du bruker dem til å fjerne og sette inn eksisterende oppføringer på nytt.
Syntaks for erstatningserklæringen i SQLite:
SQLite -erstatningsoperasjonen har følgende syntaks.
>> Erstatt (streng, finn substring, erstatt med ny streng)Det fungerer ved å passere tre argumenter: "Strengen" som inneholder substringen som skal erstattes. "Substring" inne i den teksten som skal erstattes, så vel som strengen som skal "erstattes" med den nye strengen.
Hvordan du bruker erstatningserklæring i sqlite:
Her går vi med noen sqlite erstatter operasjonseksempler og ser bruken av det i sqlite. Merk at case-sensitiv erstatning tas i betraktning når du bruker erstatningsfunksjonen.
Vi har en enkel erstatningsoperasjon i følgende figur. Først trenger vi en Select -setning og deretter bruke en erstatningsfunksjon som vi har bestått tre argumenter. Det første argumentet er strengen "eplejuice", og det andre argumentet er "eple" som vi ønsker å erstatte. Dette "Apple" er en substring fra den gitte strengen, og det tredje argumentet sendes med en ny streng "oransje" som erstattes av substring "Apple". Følgende spørringsresultater vises på bildet som følger:
>> velg erstatte ('eplejuice', 'eple', 'oransje');Vi har vår andre erstatningssak som også tar tre argumenter. Den første er strengen “Chicken Burger”, neste gang har vi Substring som “Pizza” som ikke er den delen av strengen vi har definert. Legg merke til at ingenting blir endret og originalteksten blir returnert hvis den andre parameteren ikke blir funnet i det første argumentet. Figuren viser spørringen om erstatningsfunksjonen og dens tilsvarende resultater.
>> Velg erstatte ('Chicken Burger', 'Pizza', 'Pattie');Denne er vår tredje sak der vi har vårt andre argument er en tom streng. Her endrer også erstatningsfunksjonen ikke annet enn å returnere kildestrengen som vi har spesifisert.
>> velg erstatte ('diamantring', ", 'gull');Dette kan imidlertid ikke være sant for det tredje argumentet. Hvis den strengen er tom og det første argumentet inneholder det andre argumentet. Det andre argumentet vil bli fjernet fra strengen som følger:
>> velg erstatte ('gult lys', 'gul', ");Hvis strengen ikke inneholder vårt andre argument, returnerer den strengen.
>> velg erstatte ('vitamin c', 'jern', ");Nå, her erstatter vi en streng med heltallverdien som er mulig i erstatningsfunksjonen til SQLite. Resultatet viser at strengen erstattes med tallverdiene.
>> Velg erstatte ('ID -nummer', 'nummer', 8);Eksempel 1: Lag en tabell for bruk av erstatningsfunksjon:
Vi har laget et bord som er representert som "kremer". Vi har tildelt tre kolonner til denne tabellen og angir også datatyper. Viser bildet nedenfor, er tabellen opprettet vellykket.
Lag bordkremer (Deretter har vi satt inn verdiene mot hver kolonne i tabellen "Kremer" som følger:
Sett inn i kremer verdier (1, 'iskrem', 300);For å se tabelloppføringen, bare bruk følgende spørring, og tabelloppføringen vises som nedenfor.
Eksempel 2: Bruke erstatningsfunksjon i oppdateringserklæringen:
Der har vi en oppdateringsuttalelse som vi har brukt på tabellen "Kremer". Oppdateringserklæringen angir verdiene til tabellkolonnen “Cream_name” ved å ringe den angitte operatøren. Til den angitte operatøren har vi tildelt en erstatningsfunksjon og inne i erstatningsfunksjonen har vi bestått tre argumenter. Det første argumentet er kolonnenavnet “Cream_name” der vi ønsker en erstatning. Deretter brukes strengen "krem" som et annet argument som erstatning vil bli implementert. Når erstatningsfunksjonen finner strengen “krem” fra kolonnen “Cream_name” på tabellen “Kremer”, skal den endre den med den nye strengen “Mayo”. Erstattfunksjonen tar strengen “Mayo” som den tredje inngangen.
OPPDATEREndringene skjer med suksess i følgende resultatskjerm.
Eksempel 3: Bruke erstatningsfunksjon på den unike indeksen i SQLite:
"Kremenavn" -kolonnen i tabellen "Kremer" vil bli brukt til å generere en indeks. Jeg har brukt SQLite -spørringen nedenfor for å lage en unik indeks på feltet “Kremavnet.”
>> Lag unik indeks IDX_CREAMS_CREAM_NAME på kremer (kremnavn);Nå vil vi legge til en begrensning for å legge navnet på kremen i bordet "krem". Hvis kremnavnet allerede eksisterer, bør det oppdatere den oppføringen. Ellers må den oppgi et nytt kremnavn. Vi har ganske enkelt lagt til denne funksjonen ved å bruke sqlite erstatningsuttalelsen som følger.
Erstatt i kremer (krem_id, kremnavn, krem_price)Ettersom kremnavnet “hvitløk-mayo” ikke eksisterer i tabellen “kremer”, introduserer følgende sqlite erstatningserklæring en ny rad i den. Når du kjører Select -setningen, utfører SQLite Shell posten til tabellkremene med den nylig innsatte posten.
Konklusjon:
Det er ytelsen til SQLite -erstatningsfunksjonen for å hente dataene vi krever i henhold til våre spesifikasjoner. Vi har definert erstatningsfunksjonssyntaks som vi bruker i SQLite. Deretter har vi undersøkt noen forskjellige tilfeller for å vise hvordan erstatningsfunksjonen reagerer på disse sakene. Til slutt har vi forekomster av erstatningsfunksjon som vi bruker i SQLite -tabellen.