PostgreSQL - Avanceret indsættelse

Indholdsfortegnelse
Syntaksen for PostgreSQL sameksisterer uden problemer med ANSI-SQL-standarderne, på trods af at PostgreSQL tillader os at have flere tricks i ærmet, når vi laver dataindsatser, der ikke er i andre databasebehandlere, er en af ​​disse indsatskonstruktoren avanceret til flere poster.
Flere indsatser
Som vi har forklaret, har vi mulighed for at indsætte flere rækker, men lad os se et eksempel i kode for at kunne komme i harmoni:

FORSTØRRE

Vi kan se, at dette fungerer på samme måde som at indsætte en enkelt række vha INDSÆT VÆRDIER () kun vi kan tilføje mere end én post ad gangen ved at adskille hvert sæt poster med et komma (,).
Begrænsninger
Det begrænsninger i PostgreSQL er de det mest avancerede og komplekse, der kan findes på databasemarkedet, da det ud over at oprette begrænsningen også giver mulighed for håndtering af alle aspekter af de eksisterende data, herunder betingelser, hvorunder vi kan udelade brug af begrænsninger og krænke begrænsningen på tidspunktet for indsættelse af dataene.
Lad os se, hvordan vi håndterer en fremmed nøglebegrænsning, PostgreSQL Tillader trinvis ændring og sletning ved brug af begrænsninger.
I dette eksempel vil vi bruge flere ting på en demonstrativ måde.

FORSTØRRE

1. I denne første begrænsning definerer vi et fremmed nøgleforhold mellem tabellen fakta og bordet faktatyper, for at forhindre introduktion af elementer, der ikke allerede findes i tabellen fact_types.

2. Vi definerer også en kaskade-regel, der automatisk opdaterer faktatabellen i feltet fact_type_id, hvis nogen registrering af fact_types-tabellen genopregnes. Desuden begrænser vi sletningen, hvis nogen af ​​værdierne er i brug.

3. I modsætning til den primære nøgles adfærd og unikke begrænsninger tilføjer PostgreSQL ikke automatisk et indeks over en fremmed nøgle, vi skal gøre dette for vores egen konto.

Unikke begrænsninger
Hver tabel kan ikke have mere end en enkelt primær nøgle, nu hvis vi skal have andre unikke felter i andre kolonner, skal vi gå til unikke begrænsninger, tilføjer dette automatisk et unikt associeret indeks, i modsætning til en primær nøgle kan en kolonne med en unik begrænsning fyldes med NULL -værdier, der har en unik begrænsning, denne kolonne, der har den, er ikke kvalificeret til at deltage i en udenlandsk nøgleforening.
For at gøre dette kan vi gøre det på følgende måde:
ALTER TABLE logs_2011 ADD CONSTRAINT uq_us_log UNIQUE (user_name, log_ts);

Kontroller begrænsninger
Det kontrollere begrænsninger er betingelser, som et felt skal opfylde for hver række, forespørgselsplanlæggeren af PostgreSQL Det har ansvaret for at kontrollere, om der er en kontrolbegrænsning i tabellen, der gør, at et filter af en betingelse ikke kan opfyldes, så springer det over verifikationen af ​​betingelserne.
Lad os se, hvordan vi kan oprette en kontrollere begrænsning:
 [size = 4] ALTER TABLE logs ADD CONSTRAINT chk_lusername [/ size] [size = 4] CHECK (user_name = lower (user_name)); [/ size] 

Nå med dette afslutter vi denne vejledning, som vi lærte lidt mere om de avancerede PostgreSQL -konfigurationer, når vi laver indsatser og verificerer dataene med betingelserne for begrænsningerne.Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave