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 iINSERTsæ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: