Innholdsfortegnelse
Syntaksen til PostgreSQL sameksisterer uten problemer med ANSI-SQL-standardene, til tross for at PostgreSQL tillater oss å ha flere triks i ermet når vi lager datainnlegg som ikke er i andre databasebehandlere, en av disse er innsatskonstruktøren avansert for flere poster.Flere innsatser
Som vi har forklart, har vi muligheten til å sette inn flere rader, men la oss se et eksempel i kode for å kunne komme i harmoni:
FORSTØRRE
Vi kan se at dette fungerer på samme måte som å sette inn en enkelt rad med SETT INN VERDIER () bare vi kan legge til mer enn én post om gangen ved å skille hvert sett med poster med komma (,).Begrensninger
De begrensninger i PostgreSQL er de det mest avanserte og komplekse som kan finnes i databasemarkedet, siden det i tillegg til å opprette begrensningen også tillater håndtering av alle aspekter av eksisterende data, inkludert forhold der vi kan utelate bruk av begrensninger og krenke begrensningen på tidspunktet for innsetting av dataene.
La oss se hvordan vi håndterer en fremmed nøkkelbegrensning, PostgreSQL Tillater alternativer for endring og sletting i kaskader når du bruker begrensninger.
I dette eksemplet vil vi bruke flere ting på en demonstrativ måte.
FORSTØRRE
1. I denne første begrensningen definerer vi et fremmed nøkkelforhold mellom tabellen fakta og bordet faktatyper, for å forhindre innføring av elementer som ikke allerede er tilstede i tabellen fact_types.
2. Vi definerer også en kaskaderegel som automatisk oppdaterer faktatabellen i feltet fact_type_id i tilfelle noen registrering av fact_types-tabellen blir oppregnet på nytt. I tillegg begrenser vi slettingen hvis noen av verdiene er i bruk.
3. I motsetning til oppførselen til hovednøkkelen og unike begrensninger, legger PostgreSQL ikke automatisk til en indeks for en fremmed nøkkel, vi må gjøre dette for vår egen konto.
Unike begrensningerHver tabell kan ikke ha mer enn en primærnøkkel. Hvis vi trenger å ha andre unike felt i andre kolonner, må vi gå til unike begrensningerHvis du legger til dette, opprettes det automatisk en unik tilknyttet indeks, i motsetning til en primærnøkkel kan en kolonne med en unik begrensning fylles med NULL -verdier, med en unik begrensning som denne kolonnen ikke har kvalifisert seg til å delta i en fremmed nøkkelforening.
For å gjøre dette kan vi gjøre det på følgende måte:
ALTER TABLE logs_2011 ADD CONSTRAINT uq_us_log UNIQUE (user_name, log_ts);
Sjekk begrensninger
De sjekk begrensninger er betingelser et felt må oppfylle for hver rad, spørringsplanleggeren av PostgreSQL Den har ansvaret for å kontrollere om det er en kontrollbegrensning i tabellen som gjør at et filter av en betingelse ikke kan oppfylles, så hopper den over verifiseringen av betingelsene.
La oss se hvordan vi kan lage en sjekk begrensning:
[size = 4] ALTER TABLE logger ADD CONSTRAINT chk_lusername [/ size] [size = 4] CHECK (user_name = lower (user_name)); [/ size]
Vel, med dette fullfører vi denne opplæringen som vi lærte litt mer om de avanserte PostgreSQL -konfigurasjonene når vi lager innlegg og verifiserer dataene med begrensningene.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng