8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c | Misc | PL/SQL | SQL | RAC | WebLogic | Linux
Hjem “Artikler” Misc ” Her
Dette er den ottende del af en serie af artikler, der viser grundlæggende om SQL. I denne artikel tager vi et kig på nogle af variationerne på INSERT
erklæring.,
- Opsætning
- COMMIT og ROLLBACK
- Grundlæggende SÆT
- INSERT into View
- INDSÆT … Vælg
- Scalar Subquueries
relaterede artikler.
- SQL-for Begyndere (Del 8) : INSERT-Sætningen
- SQL-for Begyndere – Fuld Afspilningsliste
- Oracle SQL-Artikler – Kom godt i Gang
- Multitable Skær
Opsætning
Du kan udføre alle disse forespørgsler online gratis at bruge SQL-Violin.
eksemplerne i denne artikel kræver, at følgende tabeller er til stede.,disse tabeller er en variant af EMP-og DEPT-tabellerne fra SCOTT-skemaet. Du vil se en masse Oracle eksempler på internettet ved hjælp af tabellerne fra SCOTT skema. Du kan finde de originale tabeldefinitioner i “$ORACLE_HOME/rdbms/admin/utlsampl.s “l” script.
i denne artikel har vi også brug for følgende kopi af MEDARBEJDERTABELLEN. Bemærk, at vi har gjort MEDARBEJDERNAVNET og JOBKOLONNERNE obligatoriske. EMPLOYEE_ID kolonnen er implicit obligatorisk, som følge af at den er den primære nøgle.,
COMMIT og ROLLBACK
alle data Manipulation Language (DML) ændringer udføres som en del af en transaktion. De er ikke permanente, før de er bekræftet ved hjælp af COMMIT
erklæring. Når du er forpligtet, er den eneste måde, du kan vende tilbage til en ændring, at udstede en ny DML-erklæring for at ændre dataene. Flere udsagn kan grupperes sammen for at danne en enkelt transaktion.kommandoer (DDL) (Datadefinition Language) udfører en implicit commit, som også bekræfter alle udestående DML-ændringer i den aktuelle session.,
Hvis du beslutter, at du ikke vil beholde nogle uforpligtede ændringer, kan du smide dem væk ved hjælp af ROLLBACK
– erklæringen. Mange af eksemplerne i denne artikel vil udstede ROLLBACK
udsagn efter testen for at vende dataene tilbage til dens oprindelige tilstand.
nogle værktøjer og programmeringssprog standard til auto-commit, så de automatisk udsteder enCOMMIT
erklæring efter hver DML-erklæring, de behandler. Lad ikke dette narre dig til at tro, at dette er standardadfærd. Det er det ikke.,
grundlæggende indsæt
den enkleste version afINSERT
– sætningen angiver ikke de kolonner, der skal indsættes. Det antager, at værdierne er angivet i den rigtige kolonnerækkefølge, og ingen kolonneværdier er udeladt. Som et resultat er dette farligt i applikationskode, da tilføjelse af en kolonne til tabellen vil bryde udsagnet.
angivelse af en kolonneliste er meget sikrere, da sætningen ikke går i stykker, hvis valgfrie kolonner tilføjes til tabellen.,
en eksplicit kolonneliste giver dig også mulighed for at fjerne valgfrie kolonner fra sætningen og bytte positionerne for kolonnerne i sætningen. I det følgende eksempel er kolonnerne MANAGER_ID, COMMISSION og DEPARTMENT_ID blevet fjernet, og EMPLOYEE_ID kolonnen er blevet flyttet til slutningen af kolonnelisten og værdilisten.
Husk, at det ikke er tilladt at gå glip af obligatoriske kolonner, medmindre du har standardværdier for kolonner eller triggere, der udfylder dem. I det følgende eksempel udelades jobkolonnen, hvilket er en obligatorisk kolonne i EMPLOYEES2-tabellen.,
indsæt i Visninger
det er muligt at indsætte i basetabellen, der er knyttet til en visning. Der er nogle begrænsninger forbundet med dette, men de er lidt ude af plads til en artikel på begynderniveau. I det følgende eksempel opretter vi en simpel visning på MEDARBEJDERNE2-tabellen, og indsæt derefter i den.
du vil ikke se det meget ofte, men du kan også indsætte i inline-visninger. Dette kan bruges til at styre kolonnelisten for indsatsen, snarere end at bruge en eksplicit kolonneliste.
indsæt …, VÆLG
Det er muligt at oprette flere rækker i en enkelt INSERT
erklæring ved brug af INSERT ... SELECT
syntaks. Følgende eksempel kopierer alle data fra MEDARBEJDERTABELLEN til EMPLOYEES2-tabellen.
kolonnelisten iINSERT
sætningen skal svare tilSELECT
listen i forespørgslen.
de normale regler gælder for forespørgselsdelen af erklæringen, så du kan filtrere dataene eller deltage i andre tabeller for at indsamle dataene.,
Skalar Underforespørgsler
Skalar underforespørgsler kan bruges til at kilde en værdi for en INSERT
erklæring. I eksemplet nedenfor er LØNKOLONNEN befolket af en skalar underforespørgsel, der returnerer den maksimale løn fra MEDARBEJDERBORDET og tilføjer 1000 til den.
For mere information se:
Skriv et svar