8 | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c | Misc | PL/SQL | SQL | RAC | WebLogic | Linux

Hjem «Artikler» Misc » Her

Dette er den åttende del av en serie artikler som viser det grunnleggende av SQL. I denne artikkelen tar vi en titt på noen av variasjoner på INSERT uttalelse.,

  • Oppsett
  • BEGÅ, og ROLLBACK
  • Grunnleggende SETT inn
  • SETT inn inn Vis
  • SETT inn … VELG
  • Skalar Subqueries

Relaterte artikler.

  • SQL for Nybegynnere (Del 8) : SETT inn Uttalelse
  • SQL for Nybegynnere – Full Spilleliste
  • Oracle SQL Artikler – Komme i Gang
  • Multitable Innlegg

– Oppsett

Du kan utføre alle disse søkene online gratis bruk av SQL Fele.

eksemplene i denne artikkelen krever disse tabellene til å være til stede.,

Disse tabellene er en variant av EMP og DEPT tabeller fra SCOTT-skjema. Du vil se mye av Oracle eksempler på internett ved hjelp av tabeller fra SCOTT-skjema. Du kan finne den opprinnelige tabellen definisjoner i «$ORACLE_HOME/rdbms/admin/utlsampl.sql-skript.

I denne artikkelen, vi også kommer til å trenge følgende kopi av ANSATTE-tabellen. Merknad vi har gjort EMPLOYEE_NAME og JOBB kolonner obligatorisk. Den EMPLOYEE_ID kolonnen er implisitt obligatorisk, som et resultat av det som blir den primære nøkkelen.,

BEGÅ, og ROLLBACK

Alle Data Manipulation Language (DML) endringer er gjort som en del av en transaksjon. De er ikke permanent før de er bekreftet ved hjelp av COMMIT uttalelse. Når begått, den eneste måten du kan tilbakestille en endring er å utstede en ny DML-setningen til å endre data. Flere uttalelser kan grupperes sammen for å danne en enkelt transaksjon.

Data Definition Language (DDL) kommandoer utføre en implisitt forplikte, som også bekrefter at alle utestående DML endringer i den gjeldende økten.,

Hvis du bestemmer deg for at du ikke ønsker å beholde noen ukommiterte endringer, kan du kaste dem bort ved hjelp av bruk av ROLLBACK uttalelse. Mange av eksemplene i denne artikkelen vil utstede ROLLBACK uttalelser etter testen, for å gå tilbake til dataene dine til sin opprinnelige tilstand.

Noen verktøy og programmeringsspråk standard auto-commit, slik at de automatisk utstede en COMMIT uttalelse etter hver DML-erklæringen de behandler. Ikke la dette lure deg til å tro at dette er standard virkemåte. Det er det ikke.,

Grunnleggende SETT inn

Den enkleste versjonen av INSERT uttalelse ikke angi hvilke kolonner som skal settes inn. Det forutsetter at verdiene er angitt i riktig kolonne for og ingen kolonnen verdier har blitt utelatt. Som et resultat, dette er farlig i programmet koden som du legger til en kolonne i tabellen vil bryte uttalelse.

Angi en kolonne listen er mye tryggere som erklæring ikke vil bryte hvis valgfrie kolonner er lagt til i tabellen.,

En eksplisitt kolonne listen lar deg også fjerne valgfrie kolonner fra uttalelsen og bytte plassering av søyler i uttalelsen. I følgende eksempel MANAGER_ID, KOMMISJONEN og DEPARTMENT_ID kolonnene har blitt fjernet, og de EMPLOYEE_ID kolonnen har blitt flyttet til enden av kolonnen list og value-listen.

Husk, mangler ut obligatorisk kolonner er ikke tillatt, med mindre du har kolonnen standard verdier eller utløsere som kan fylle dem. I følgende eksempel JOBBEN kolonnen er utelatt, som er en obligatorisk kolonne i EMPLOYEES2 bordet.,

SETT inn Synspunkter

Det er mulig å sette inn i basen tabell forbundet med en byutsikt. Det er noen restriksjoner forbundet med dette, men de er litt ute av omfang for en nybegynner nivå artikkelen. I følgende eksempel vil vi lage en enkel oversikt på EMPLOYEES2 bordet, og sett deretter inn i det.

Du vil ikke se det veldig ofte, men du kan også sette inn inline utsikt. Dette kan brukes til å kontrollere kolonnen liste for innsatsen, heller enn å bruke en eksplisitt kolonne listen.

SETT inn …, VELG

Det er mulig å opprette flere rader i en enkelt INSERT uttalelse ved hjelp av INSERT ... SELECT syntaks. Følgende eksempel kopierer alle data fra ANSATTE-tabellen i EMPLOYEES2 bordet.

kolonnen i listen INSERT uttalelse må matche SELECT liste i søket.

De vanlige reglene gjelder for spørring del av den setningen, så du kan filtrere data eller delta i andre tabeller for å samle data.,

Skalar Subqueries

Skalar subqueries kan brukes til å finne en verdi for en INSERT uttalelse. I eksempelet nedenfor, LØNN kolonnen er befolket av en skalar subquery, som returnerer den høyeste LØNN fra ANSATTE-tabellen og legger 1000 til det.

For mer informasjon se: