how use pl sql insert
Denne opplæringen forklarer hvordan du bruker kommandoer PL SQL INSERT, UPDATE, DELETE og SELECT med programmeringseksempler:
I denne artikkelen vil vi fortsette med PL / SQL-serien . I PL / SQL datatyper, konstanter og variabel opplæring, har vi lært om PL SQL datatyper, variabler, konstanter og bokstaver i detalj ved hjelp av programmeringseksempler. Her vil vi diskutere PL SQL DML-setningene og hvordan de fungerer.
Vi skal utforske kommandoene PL SQL INSERT, DELETE, UPDATE og SELECT for å manipulere data i PL / SQL-tabeller.
La oss starte med læringene !!
Hva du vil lære:
- PL SQL DML-kommandoer
- Konklusjon
PL SQL DML-kommandoer
La oss begynne å forstå INSERT, DELETE, UPDATE og SELECT kommandoer implementering på tabeller. Samlet kalles disse Data Manipulation Language (DML) uttalelser.
PL SQL INSERT Kommando
INSERT INTO-setningen brukes til å sette inn data i en tabell. Det kalles en Data Manipulation Language . Den bruker tabellnavnet og kolonnenavn og verdier som innganger og utfører innføring av verdier i tabellen.
Syntaks:
beste programvaren for å overvåke CPU-temperaturen
INSERT INTO <> VALUES (<>, <>, …..);Tabellnavnet og verdiene som skal settes inn er den obligatoriske delen av PL SQL INSERT-setningen. Eventuelt kan vi også nevne kolonnenavnene der verdiene skal settes inn.
Vi har opprettet EMPLOYEE-tabellen ved hjelp av SQL-setningen gitt nedenfor:
CREATE TABLE EMPLOYEE ( CODE INT NOT NULL, NAME VARCHAR (15) NOT NULL, AGE INT NOT NULL, PRIMARY KEY (CODE) );
Kodeimplementering med PL SQL INSERT:
BEGIN INSERT INTO EMPLOYEE VALUES (1, 'FLEX', 34); INSERT INTO EMPLOYEE VALUES (2, 'HARRY', 35); END
Resultatet av koden ovenfor skal være:
SELECT * from EMPLOYEE;
INSERT I VALG
Sett inn i alle kolonnene
INSERT INTO SELECT brukes til å sette inn rader i en tabell ved å følge SELECT-setningsresultatet. Det kan være nødvendig å hente en rad fra bordet og sette inn i en annen tabell.
Syntaks:
INSERT INTO <> (col1, col2, col3) SELECT col1, col2, col3 FROM <
INSERT INTO SELECT-kommandoen trenger datatypene for kilde og måltabell for å være de samme. Hvis vi trenger å kopiere hele radene i kildetabellen til måltabellen, kan vi utelate WHERE-tilstanden.
Vi har laget en annen tabell kalt MANAGER ved hjelp av SQL-setningen gitt nedenfor:
CREATE TABLE MANAGER ( CODE INT NOT NULL, NAME VARCHAR (15) NOT NULL, AGE INT NOT NULL, PRIMARY KEY (CODE) );
La oss igjen vurdere ANSATTE-tabellen.
Kodeimplementering med INSERT INTO SELECT .:
BEGIN INSERT INTO MANAGER (CODE, NAME, AGE) SELECT CODE, NAME, AGE FROM EMPLOYEE WHERE CODE = 1; END;
Utgang av ovennevnte kode:
SELECT * from MANAGER;
LEGG INN PARTIELLE DATA
Vi kan også sette inn delvise data i en annen tabell. La oss først lage MANAGERDETAIL tabellen fra ANSATTE-tabellen med spørringen nedenfor.
CREATE TABLE MANAGERDETAIL AS SELECT * FROM EMPLOYEE WHERE 1 = 0;
Her, HVOR 1 = 0 refererer til den første kolonnen i ANSATTE-tabellen som er KODE.
Deretter vil vi bruke INSERT INTO SELECT-setningen til å duplisere dataene fra ANSATTE-tabellen til MANAGERDETAIL-tabellen.
Kodeimplementering med INSERT INTO SELECT;
BEGIN INSERT INTO MANAGERDETAIL SELECT CODE, NAME, AGE FROM EMPLOYEE WHERE CODE! = 0 END;
Utgang av ovennevnte kode:
SELECT * from MANAGERDETAIL;
I eksemplet ovenfor har vi ikke nevnt kolonnenavnene i INSERT-kommandoen, da utgangen fra SELECT-kommandoen har verdiene som samsvarer med MANAGERDETAIL-tabellkolonnene. Vi har også tatt med en betingelse med klausulen HVOR.
LEGG INN PARTIELLE DATA OG LITERAL
Vi kan sette inn delvise data og bokstavelig verdi i en tabell.
La oss først lage MANAGERCONTACT-tabellen med spørringen nedenfor:
CREATE TABLE MANAGERCONTACT ( CODE INT NOT NULL, NAME VARCHAR (15) NOT NULL, AGE INT NOT NULL, PRIMARY KEY (CODE) );
La oss nå igjen ta hjelp av EMPLOYEE-tabellen og prøve å duplisere dataene fra EMPLOYEE-tabellen til MANAGERCONTACT-tabellen.
Kodeimplementering med INSERT INTO:
BEGIN INSERT INTO MANAGERCONTACT (CODE, NAME, AGE) SELECT CODE, NAME, 0 FROM EMPLOYEE; END;
Resultatet av ovennevnte kode:
SELECT * from MANAGERCONTACT;
I eksemplet ovenfor har vi innhentet verdiene fra ANSATTE-tabellen og også inkludert 0 bokstavelig i INSERT-setningen som endret verdiene i ALD-kolonnen til 0 i MANAGERCONTACT tabellen.
Sett inn alt
En INSERT ALL-setning brukes til å legge til mer enn en rad i en enkelt tabell eller flere tabeller. Det kalles også en kommando med flere tabeller og er av to typer betinget og ubetinget.
# 1) UBETINGELSESINSETT ALLE
For å sette inn mer enn en rad i en tabell, brukes en INSERT ALL-setning.
Syntaks:
INSERT ALL INTO <> (c1, c2, c3) VALUES (v1, v2, v3) INTO <> (c1, c2, c3) VALUES (v4, v5, v6) INTO <> (c1, c2, c3) VALUES (v7, v8, v9) Her er c1, c2 og c3 kolonnenavnene, og v1, v2 og v3 er verdiene som skal settes inn. I tilfelle må vi bruke bokstavelig verdi i stedet for underspørring; vi må bruke spørringen nedenfor:
SELECT * FROM dual;
Vi har laget SOCCERPLAYERS-tabellen ved hjelp av SQL-setningen gitt nedenfor:
CREATE TABLE SOCCERPLAYERS ( PLAYERID INT NOT NULL, NAME VARCHAR (15) NOT NULL, COUNTRY VARCHAR (15), PRIMARY KEY (PLAYERID) );
Kodeimplementering med INSERT ALL:
BEGIN INSERT ALL INTO SOCCERPLAYERS (PLAYERID, NAME, COUNTRY) VALUES (4, 'DANIEL', 'USA') INTO SOCCERPLAYERS (PLAYERID, NAME, COUNTRY) VALUES (8, 'DANNY', 'ITALY') INTO SOCCERPLAYERS (PLAYERID, NAME, COUNTRY) VALUES (7, 'FRANK', 'FRANCE') SELECT 1 FROM dual; END;
Resultatet av ovennevnte kode:
SELECT * from SOCCERPLAYERS;
I eksemplet ovenfor har tre rader blitt satt inn samtidig i en tabell med en INSERT ALL-kommando.
For å sette inn mer enn en rad i flere tabeller, brukes en INSERT ALL-setning.
Syntaks:
INSERT ALL INTO <> (c1, c2, c3) VALUES (v1, v2, v3) INTO <> (c1, c2, c3) VALUES (v4, v5, v6) INTO <> (c1, c2, c3) VALUES (v7, v8, v9) Subquery;
Her er c1, c2 og c3 kolonnenavnene, og v1, v2 og v3 er verdiene som skal settes inn. Tabellnavn1, tabellnavn2 og tabellnavn3 er tabellnavnene.
# 2) KONDISJONELL INNSETT ALLE
En INSERT ALL-setning kan sette inn mer enn en rad i tabeller, avhengig av noen forhold.
Syntaks:
INSERT [ALL | FIRST] WHEN cond1 THEN INTO table_name1 <> VALUES <> WHEN cond2 THEN INTO table_name2 <> VALUES <> ELSE INTO table_name3 <> VALUES <> Subquery;
Nøkkelordet ALL brukes til å spesifisere at alle forholdene under WHERE-klausulen skal utføres. Hvis en betingelse er oppfylt, vil den tilsvarende INTO-klausulen løpe.
Hvis nøkkelordet FIRST brukes så for hver enkelt rad hentet fra en undersøking, utfører Oracle kriteriene i paragrafen NÅR fra topp til bunn. Når en betingelse er oppfylt, vil den tilsvarende INTO-klausulen løpe og hoppe til en annen WHEN-klausul for den raden.
Vi har laget tabellene VEHICLE, CARS, SMALLCARS og LARGECARS ved hjelp av SQL-setningene gitt nedenfor:
CREATE TABLE VEHICLE ( CARID INT NOT NULL, NAME VARCHAR (15) NOT NULL, COLOR VARCHAR (15), PRIMARY KEY (CARID) );
Sett inn verdiene nedenfor i VEHICLE-tabellen:
INSERT INTO VEHICLE VALUES (1, 'AUDI', 'RED'); INSERT INTO VEHICLE VALUES (4, 'BMW', 'WHITE'); INSERT INTO VEHICLE VALUES (7, 'KIA', 'GREEN'); CREATE TABLE CARS ( CARID INT NOT NULL, NAME VARCHAR (15) NOT NULL, COLOR VARCHAR (15), PRIMARY KEY (CARID) ); CREATE TABLE SMALLCARS AS SELECT * FROM CARS; CREATE TABLE LARGECARS AS SELECT * FROM CARS;
Kodeimplementering med INSERT ALL.
BEGIN INSERT ALL WHEN CARID = 1 THEN INTO CARS WHEN CARID = 4 THEN INTO SMALLCARS WHEN CARID = 7 THEN INTO LARGECARS SELECT CARID, NAME, COLOR FROM VEHICLE; END;
Resultatet av ovennevnte kode:
SELECT * from CARS;
SELECT * from SMALLCARS;
SELECT * from LARGECARS;
I eksemplet ovenfor er det lagt inn en rad i hver av de tre tabellene basert på CARDID-verdien.
Det er visse begrensninger med INSERT ALL-setningen:
- Den brukes bare til å sette inn verdier i tabeller. Det fungerer ikke med synspunkter eller materialiserte synspunkter.
- Det er ikke i stand til å sette inn verdier i eksterne tabeller.
- Antall kolonner som en INSERT INTO-kommando kan håndtere, bør ikke være større enn 999.
- Et uttrykk for tabellsamling kan ikke brukes i en INSERT-kommando med flere tabeller.
- Et INSERT-underspørsel med flere tabeller kan ikke bruke en sekvens.
PL SQL Update Command
UPDATE-setningen brukes til å endre verdiene i en tabell. Det kalles også a Data Manipulation Language . Den bruker navnene på tabellen, kolonnen og verdiene som innganger og utfører modifisering av verdier på tabellen.
Syntaks:
UPDATE <> SET <>=<>, <>=<>,… WHERE <>;SET-nøkkelordet brukes til å endre kolonneverdien med den nye verdien. Eventuelt brukes WHERE-nøkkelordet, hvis det utelates, vil verdien av den spesifiserte kolonnen i den fullstendige tabellen bli endret.
OPPDATER ENKEL KOLONNE I EN RAD
La oss igjen vurdere ANSATTE-tabellen.
Kodeimplementering med UPDATE:
BEGIN UPDATE EMPLOYEE SET NAME = 'HENRY' WHERE CODE=1; END;
Resultatet av ovennevnte kode:
SELECT * from EMPLOYEE;
OPPDATER FLERE KOLONNER I EN RAD
La oss igjen vurdere ANSATTE-tabellen.
Kodeimplementering med UPDATE:
BEGIN UPDATE EMPLOYEE SET NAME = 'COMO', AGE = 30 WHERE CODE=2; END;
Resultatet av ovennevnte kode:
SELECT * from EMPLOYEE;
OPPDATER FLERE RADER
La oss igjen vurdere ANSATTE-tabellen.
Kodeimplementering med UPDATE:
BEGIN UPDATE EMPLOYEE SET AGE = AGE +1; END;
Utgang av ovennevnte kode:
SELECT * from EMPLOYEE;
I eksemplet ovenfor økte ALDREN av alle ansatte med 1.
PL SQL Slett kommando
DELETE-setning brukes til å fjerne en hel post fra tabellen. Det kalles også a Data Manipulation Language.
Syntaks:
DELETE FROM <> WHERE <>;Nøkkelordet FROM er ikke obligatorisk, og en DELETE-setning skal gi samme resultat hvis FROM blir lagt til eller ikke blir lagt til i spørringen. Eventuelt brukes WHERE-nøkkelordet, hvis den utelates, vil hele tabellen bli slettet.
dot net intervju spørsmål og svar
SLETT ENKEL RAD FRA BORD
La oss igjen vurdere ANSATTE-tabellen.
Kodeimplementering med DELETE:
BEGIN DELETE FROM EMPLOYEE WHERE CODE=2; END;
Utgang av ovennevnte kode:
SELECT * from EMPLOYEE;
SLETT FLERE Rader FRA BORD
La oss vurdere tabellen MANAGERDETAIL igjen.
Kodeimplementering med DELETE:
BEGIN DELETE FROM MANAGERDETAIL WHERE CODE > 0; END;
Utgang av ovennevnte kode:
SELECT * from MANAGERDETAIL;
SLETT HELE RADER FRA BORD
La oss igjen vurdere kjøretøystabellen.
Kodeimplementering med DELETE:
BEGIN DELETE FROM VEHICLE; END;
Utgang av ovennevnte kode:
SELECT * from VEHICLE;
PL SQL Velg kommando
SELECT-setningen brukes til å hente data fra databasen. SELECT INTO-setningen brukes til å hente verdiene fra databasen og lagre dem til de lokale variablene introdusert av PL / SQL.
Hvis vi bare bruker en SELECT-setning, returnerer den en enkelt post. Hvis en SELECT-setning henter flere verdier, TOO_MANY_ROWS unntak kastes av PL / SQL. Mens vi bruker SELECT INTO-setningen, tildeler vi variabelen minst én verdi. Imidlertid, hvis ingen poster blir hentet fra databasen, vil INGEN DATA FUNNET unntak blir kastet.
Antallet av kolonner og deres type skal være lik antallet av variabler og deres type i INTO-nøkkelordet. Verdiene er hentet fra databasen i samme rekkefølge som definert i SELECT-setningen.
WHERE-nøkkelordet i SELECT-setningen er valgfritt og tillater oss å skaffe poster som oppfyller visse kriterier. Det er viktig å merke seg at SELECT-spørring med DELETE, UPDATE og INSERT-kommandoer ikke har en INTO-ledd.
Syntaks:
SELECT <>, <>, ..<> INTO <>, <>, … <> FROM <> WHERE <>;HENT DATA FRA ALLE KOLONNER PÅ EN BORD
La oss igjen vurdere ANSATTE-tabellen.
Kodeimplementering med SELECT:
BEGIN SELECT * FROM EMPLOYEE WHERE CODE=1; END;
Utgang av ovennevnte kode:
Kodeimplementering med SELECT-setning som gir et unntak:
BEGIN SELECT * FROM EMPLOYEE WHERE CODE=2; END;
Utgang av ovennevnte kode:
Ingen data funnet unntak kastes da SELECT-setningen ikke klarte å oppnå en rad som samsvarer med betingelsen spesifisert, da det ikke er noen ansatt med CODE 2 i databasen.
HENT DATA FRA EN KOLONNE AV EN BORD
La oss igjen vurdere ANSATTE-tabellen.
BEGIN SELECT CODE FROM EMPLOYEE; END;
Resultatet av ovennevnte kode:
FETCH DATA FRA FLERE KOLONNER AV EN TABELL
La oss igjen vurdere ANSATTE-tabellen.
BEGIN SELECT CODE, NAME FROM EMPLOYEE; END;
Utgang av ovennevnte kode:
I eksemplet ovenfor er to kolonner KODE og NAVN lagt til i SELECT-setningen.
Ofte stilte spørsmål og svar
Q # 1) Hva er INSERT, UPDATE og DELETE i SQL?
Svar: INSERT, UPDATE og DELETE er kommandoer i SQL som hjelper til med å betjene og oppdatere data. INSERT-setningen setter inn rader i en tabell. DELETE-setning sletter rader fra en tabell, og UPDATE-setningen oppdaterer verdiene i radene i tabellen.
Q # 2) Kan vi INSERT, OPPDATE og SLETTE i visning i SQL?
Svar: Ja, vi kan INSERT, UPDATE og SLETTE i visning i SQL. Hvis visningen har gått sammen mellom tabellene, kan vi bare utføre INSERT- og UPDATE-handlinger, men kan ikke utføre en SLETT-operasjon. DROP-setning brukes til å slette en visning.
Q # 3) Er INSERT DDL eller DML?
beste gratis mp3 nedlasting for android
Svar: INSERT er et DML eller Data Manipulation Language). De andre DML-uttalelsene inkluderer UPDATE, DELETE og så videre. DDL-setning er i stand til å lage tabeller, skjema og database.
Q # 4) Kan vi bruke JOIN IN slette spørring?
Svar: Ja, vi kan bruke setningen INNER JOIN i SLETT-kommandoen for å slette rader fra en tabell.
Q # 5) Hva er forskjellen mellom avkorting og slett kommando?
Svar: TRUNCATE er en DDL-setning mens DELETE er DML. TRUNCATE-kommandoen kan fjerne hele tabellen. Det holder ikke bordets integritet. DELETE-setningen kan bare slette bestemte data på bordet. Det kan også inneholde vilkår for sletting.
Q # 6) Hva er DML, DCL og DDL?
Svar: SQL-setninger er av typene - DML, DCL og DML.
Datadefinisjonsspråket eller DDL inkluderer kommandoer som ALTER, DROP, CREATE, RENAME, TRUNCATE og COMMENT. Data Manipulation Language eller DML inkluderer kommandoer som INSERT, DELETE, MERGE, UPDATE, CALL, LOCK TABLE og EXPLAIN PLAN.
Datakontrollspråket eller DCL inkluderer kommandoer som GRANT og REVOKE.
Q # 7) Er avkortet raskere enn drop?
Svar: Ja, TRUNCATE-operasjonen er raskere enn DROP. TRUNCATE-kommandoen sletter bare dataene fra tabellen. DROP-kommandoen sletter tabellstrukturen og dataene fra tabellen.
Konklusjon
I denne opplæringen har vi diskutert i detalj noen grunnleggende konsepter for PL SQL-kommandoer som er essensielle for å utvikle kunnskap om det. Vi har dekket følgende emner listet opp nedenfor:
- Data Manipulation Language kommandoer.
- Bruk av PL SQL INSERT.
- Bruk av PL SQL UPDATE.
- Bruk av PL SQL DELETE.
- Bruk av PL SQL SELECT.
<< PREV Tutorial | NESTE veiledning >>
Anbefalt lesing
- PL SQL Tutorial for nybegynnere med eksempler Hva er PL / SQL
- PL SQL markør og strenger: opplæring med kodeeksempler
- PL SQL-datatyper, variabler, konstanter og bokstaver
- PL SQL Datetime Format: Dato- og klokkeslettfunksjoner i PL / SQL
- PL SQL-pakke: Oracle PL / SQL-pakkeveiledning med eksempler
- MySQL Sett inn i tabellen - Sett inn uttalelsessyntaks og eksempler
- MySQL Update Statement Tutorial - Update Query Syntax & Eksempler
- MySQL Slett uttalelse - Slett kommandasyntaks og eksempler
^