„Oracle PL / SQL“ įterpimas, atnaujinimas, ištrynimas ir amp; Pasirinkite į (pavyzdys)

Šioje pamokoje mes mokysimės naudoti SQL PL / SQL. SQL yra tikrasis komponentas, kuris rūpinasi duomenų duomenų bazėje paėmimu ir atnaujinimu, o PL / SQL yra komponentas, kuris apdoroja šiuos duomenis. Toliau šiame straipsnyje mes taip pat aptarsime, kaip sujungti SQL PL / SQL bloke.

Šioje pamokoje sužinosite

  • Duomenų įterpimas
  • Duomenų atnaujinimas
  • Duomenų ištrynimas
  • Duomenų pasirinkimas

DML operacijos PL / SQL

DML reiškia duomenų manipuliavimo kalbą . Šie teiginiai daugiausia naudojami manipuliavimo veiklai atlikti. Jame nagrinėjamos toliau nurodytos operacijos.

  • Duomenų įterpimas
  • Duomenų atnaujinimas
  • Duomenų ištrynimas
  • Duomenų pasirinkimas

PL / SQL galime manipuliuoti duomenimis tik naudodami SQL komandas.

Duomenų įterpimas

PL / SQL duomenis galime įterpti į bet kurią lentelę naudodami SQL komandą INSERT INTO. Ši komanda įves į lentelės pavadinimą, lentelės stulpelio ir stulpelio reikšmes ir reikšmę įterps į pagrindinę lentelę.

INSERT komanda taip pat gali paimti reikšmes tiesiai iš kitos lentelės naudodama „SELECT“ sakinį, užuot pateikusi kiekvieno stulpelio reikšmes. Per „SELECT“ sakinį galime įterpti tiek eilučių, kiek yra pagrindinėje lentelėje.

Sintaksė:

BEGININSERT INTO 
(,,… )VALUES(,… :);END;
  • Pirmiau pateiktoje sintaksėje rodoma komanda INSERT INTO. Lentelės pavadinimas ir reikšmės yra privalomi laukai, o stulpelių pavadinimai nėra privalomi, jei įterpimo sakiniai turi visų lentelės stulpelių reikšmes.
  • Raktinis žodis „VALUES“ yra privalomas, jei vertės pateikiamos atskirai, kaip parodyta aukščiau.

Sintaksė:

BEGININSERT INTO 
(,,… ,)SELECT ,,…  FROM 
;END;
  • Pirmiau pateiktoje sintaksėje rodoma komanda INSERT INTO, kuri perima reikšmes tiesiai iš naudodama komandą SELECT.
  • Šiuo atveju raktinio žodžio „VALUES“ neturėtų būti, nes reikšmės nepateikiamos atskirai.

Duomenų atnaujinimas

Duomenų atnaujinimas tiesiog reiškia bet kurio lentelės stulpelio vertės atnaujinimą. Tai galima padaryti naudojant „UPDATE“ pareiškimą. Šis sakinys nurodo lentelės pavadinimą, stulpelio pavadinimą ir vertę kaip įvestį ir atnaujina duomenis.

Sintaksė:

BEGIN UPDATE 
SET =,=,=WHERE ;END;
  • Aukščiau pateiktoje sintaksėje rodomas ATNAUJINIMAS. Raktinis žodis „SET“ nurodo tam PL / SQL varikliui atnaujinti stulpelio vertę nurodyta verte.
  • Sąlyga „WHERE“ yra neprivaloma. Jei ši sąlyga nepateikiama, tada bus atnaujinta paminėto stulpelio vertė visoje lentelėje.

Duomenų ištrynimas

Duomenų ištrynimas reiškia ištrinti vieną visą įrašą iš duomenų bazės lentelės. Šiam tikslui naudojama komanda „DELETE“.

Sintaksė:

BEGINDELETEFROM
WHERE ;END;
  • Aukščiau pateiktoje sintaksėje rodoma komanda DELETE. Raktinis žodis „FROM“ yra neprivalomas ir su sąlyga „FROM“ ar be jos komanda elgiasi taip pat.
  • Sąlyga „WHERE“ yra neprivaloma. Jei ši sąlyga nepateikiama, visa lentelė bus ištrinta.

Duomenų pasirinkimas

Duomenų projekcija / gavimas reiškia reikiamų duomenų atkūrimą iš duomenų bazės lentelės. Tai galima pasiekti naudojant komandą „SELECT“ su išlyga „INTO“. „SELECT“ komanda atkurs reikšmes iš duomenų bazės, o „INTO“ sąlyga priskirs šias reikšmes vietiniam PL / SQL bloko kintamajam.

Toliau pateikiami punktai, į kuriuos reikia atsižvelgti sakinyje „SELECT“.

  • „SELECT“ sakinys turėtų grąžinti tik vieną įrašą, o naudojant sąlygą „INTO“, nes vienas kintamasis gali turėti tik vieną vertę. Jei sakinys „SELECT“ pateikia daugiau nei vieną reikšmę, bus padidinta išimtis „TOO_MANY_ROWS“.
  • „SELECT“ sakinys priskirs reikšmę kintamajam sąlygoje „INTO“, todėl norint išpildyti vertę, reikia iš lentelės gauti bent vieną įrašą. Jei jis negavo jokio įrašo, iškeliama išimtis „NO_DATA_FOUND“.
  • Stulpelių skaičius ir jų duomenų tipas sąlygoje „SELECT“ turėtų sutapti su kintamųjų skaičiumi ir jų duomenų tipais sąlygoje „INTO“.
  • Vertės gaunamos ir pateikiamos ta pačia tvarka, kaip nurodyta sakinyje.
  • Sąlyga „WHERE“ yra neprivaloma, leidžianti nustatyti daugiau apribojimų įrašams, kuriuos ketinama gauti.
  • „SELECT“ sakinys gali būti naudojamas kitų DML sakinių sąlygoje „WHERE“, norint apibrėžti sąlygų vertes.
  • „SELECT“ sakinyje, naudojant teiginius „INSERT“, „UPDATE“, „DELETE“, neturėtų būti sąlygos „INTO“, nes šiais atvejais jis nepateiks jokio kintamojo.

Sintaksė:

BEGINSELECT ,…  INTO ,… FROM 
WHERE ;END;
  • Pirmiau pateiktoje sintaksėje rodoma komanda SELECT-INTO. Raktinis žodis „FROM“ yra privalomas, nurodantis lentelės pavadinimą, iš kurio reikia gauti duomenis.
  • Sąlyga „WHERE“ yra neprivaloma. Jei ši sąlyga nepateikiama, bus gauti visos lentelės duomenys.

1 pavyzdys : Šiame pavyzdyje mes pamatysime, kaip atlikti DML operacijas PL / SQL. Mes ketiname įterpti žemiau esančius keturis įrašus į emp lentelę.

EMP_NAME EMP_NO ATLYGINIMAS VADOVAS
BBB 1000 25000 AAA
XXX 1001 10000 BBB
YYY 1002 10000 BBB
ZZZ 1003 7500 BBB

Tada ketiname atnaujinti „XXX“ atlyginimą iki 15000 ir ištrinsime darbuotojų įrašą „ZZZ“. Galiausiai mes suprojektuosime darbuotojo „XXX“ duomenis.

DECLAREl_emp_name VARCHAR2(250);l_emp_no NUMBER;l_salary NUMBER;l_manager VARCHAR2(250);BEGIN INSERT INTO emp(emp_name,emp_no,salary,manager)VALUES(‘BBB’,1000,25000,’AAA’);INSERT INTO emp(emp_name,emp_no,salary,manager)VALUES('XXX',1001,10000,’BBB);INSERT INTO emp(emp_name,emp_no,salary,managedVALUES(‘YYY',1002,10000,'BBB');INSERT INTO emp(emp_name,emp_no,salary,manager)VALUES(‘ZZZ',1003,7500,'BBB'):‭COMMIT;Dbms_output.put_line(‘Values Inserted');UPDATE EMPSET salary=15000WHERE emp_name='XXX';COMMIT;Dbms_output.put_line(‘Values Updated');DELETE emp WHERE emp_name='ZZZ';COMMIT:Dbms_output.put_line('Values Deleted );SELECT emp_name,emp_no,salary,manager INTO l_emp_name,l_emp_no,l_salary,l_manager FROM emp WHERE emp_name='XXX';Dbms output.put line(‘Employee Detail’);Dbms_output.put_line(‘Employee Name:‘||l_emp_name);Dbms_output.put_line(‘Employee Number:‘||l_emp_no);Dbms_output.put_line(‘Employee Salary:‘||l_salary);Dbms output.put line(‘Emplovee Manager Name:‘||l_manager):END;/

Išvestis:

Values InsertedValues UpdatedValues DeletedEmployee DetailEmployee Name:XXXEmployee Number:1001Employee Salary:15000Employee Manager Name:BBB

Kodo paaiškinimas:

  • Kodo eilutė 2-5 : Kintamojo deklaravimas.
  • Kodo eilutė 7–14 : Įrašų įterpimas į emp lentelę.
  • 15 kodo eilutė : Įterpiamų operacijų vykdymas.
  • Kodo eilutė 17-19 : Darbuotojo „XXX“ atlyginimo atnaujinimas iki 15000
  • 20 kodo eilutė : atnaujinimo operacijos vykdymas.
  • 22 kodo eilutė : „ZZZ“ įrašo ištrynimas
  • 23 kodo eilutė : ištrynimo operacijos vykdymas.
  • Kodo eilutė 25–27 : „XXX“ įrašo pasirinkimas ir užpildymas kintamajame l_emp_name, l_emp_no, l_salary, l_manager.
  • Kodo eilutė 28-32 : rodoma paimtų įrašų vertė.

Įdomios straipsniai...