how use pl sql insert
Deze tutorial legt uit hoe je PL SQL INSERT, UPDATE, DELETE en SELECT commando's gebruikt met programmeervoorbeelden:
In dit artikel gaan we verder met PL / SQL-reeks In de PL / SQL-gegevenstypen, constanten en variabelen tutorial, we hebben in detail geleerd over PL SQL-gegevenstypen, variabelen, constanten en literalen met behulp van programmeervoorbeelden. Hier bespreken we de PL SQL DML-instructies en hoe ze werken.
We zullen de PL SQL INSERT-, DELETE-, UPDATE- en SELECT-opdrachten onderzoeken om gegevens in PL / SQL-tabellen te manipuleren.
Laten we beginnen met de lessen !!
Wat je leert:
- PL SQL DML-opdrachten
- Gevolgtrekking
PL SQL DML-opdrachten
Laten we beginnen met de implementatie van INSERT-, DELETE-, UPDATE- en SELECT-opdrachten op tabellen te begrijpen. Gezamenlijk worden deze DML-instructies (Data Manipulation Language) genoemd.
PL SQL INSERT-opdracht
INSERT INTO-instructie wordt gebruikt om gegevens in een tabel in te voegen. Het heet een Data Manipulatie Taal Het gebruikt de tabelnaam en kolomnamen en waarden als invoer en voert de invoeging van waarden in de tabel uit.
Syntaxis:
De tabelnaam en in te voegen waarden zijn het verplichte deel van de PL SQL INSERT-instructie. Optioneel kunnen we ook de kolomnamen vermelden waar de waarden moeten worden ingevoegd.
We hebben de EMPLOYEE-tabel gemaakt met behulp van de onderstaande SQL-instructie:
Code-implementatie met PL SQL INSERT:
De uitvoer van de bovenstaande code zou moeten zijn:
INVOEGEN IN SELECTEREN
IN ALLE KOLOMMEN INVOEGEN
INSERT INTO SELECT wordt gebruikt om rijen in een tabel in te voegen door te reageren op het resultaat van de SELECT-instructie. Het kan nodig zijn om een rij van de tafel te nemen en deze in een andere tafel te plaatsen.
Syntaxis:
INSERT INTO SELECT-commando heeft de gegevenstypen van de bron- en doeltabel nodig om hetzelfde te zijn. In het geval dat we de volledige rijen van de brontabel naar de doeltabel moeten kopiëren, kunnen we de WHERE-voorwaarde weglaten.
We hebben een andere tabel gemaakt met de naam MANAGER met behulp van de onderstaande SQL-instructie:
Laten we nog eens kijken naar de WERKNEMER-tabel.
Code-implementatie met INSERT INTO SELECT .:
Uitvoer van de bovenstaande code:
GEDEELTELIJKE GEGEVENS INVOEGEN
We kunnen ook gedeeltelijke gegevens invoegen in een andere tabel. Laten we eerst het MANAGERDETAIL tabel uit de WERKNEMER-tabel met de onderstaande vraag.
Hier, WAAR 1 = 0 verwijst naar de eerste kolom van de EMPLOYEE-tabel die CODE is.
interviewvragen en antwoorden voor kwaliteitsborging analisten
Vervolgens zullen we de instructie INSERT INTO SELECT gebruiken om de gegevens van de EMPLOYEE-tabel naar de MANAGERDETAIL-tabel te dupliceren.
Code-implementatie met INSERT INTO SELECT;
Uitvoer van de bovenstaande code:
In het bovenstaande voorbeeld hebben we de kolomnamen niet genoemd in het INSERT-commando, omdat de uitvoer van het SELECT-commando de waarden heeft die overeenkomen met de MANAGERDETAIL-tabelkolommen. Ook hebben we een voorwaarde opgenomen in de clausule WHERE.
GEDEELTELIJKE GEGEVENS EN LITERAAL INVOEGEN
We kunnen gedeeltelijke gegevens en letterlijke waarden in een tabel invoegen.
Laten we eerst de MANAGERCONTACT-tabel maken met de onderstaande query:
Laten we nu opnieuw de hulp van de EMPLOYEE-tabel gebruiken en proberen de gegevens van de EMPLOYEE-tabel te dupliceren naar de MANAGERCONTACT-tabel.
Code implementatie met INSERT INTO:
De output van de bovenstaande code:
In het bovenstaande voorbeeld hebben we de waarden verkregen uit de EMPLOYEE-tabel en ook 0 letterlijk opgenomen in de INSERT-instructie die de waarden van de AGE-kolom heeft gewijzigd in 0 in de MANAGERCONTACT-tabel.
ALLES INVOEGEN
Een INSERT ALL-instructie wordt gebruikt om meer dan één rij toe te voegen aan een enkele tabel of meerdere tabellen. Het wordt ook wel een multi-table-commando genoemd en bestaat uit twee typen, voorwaardelijk en onvoorwaardelijk.
# 1) ONVOORWAARDELIJK ALLES INVOEGEN
Om meer dan één rij in een tabel in te voegen, wordt een INSERT ALL-instructie gebruikt.
Syntaxis:
Hier zijn de c1, c2 en c3 de kolomnamen en zijn v1, v2 en v3 de waarden die moeten worden ingevoegd. In het geval dat we een letterlijke waarde moeten gebruiken in plaats van een subquery; we moeten de onderstaande vraag gebruiken:
We hebben de SOCCERPLAYERS-tabel gemaakt met behulp van de onderstaande SQL-instructie:
Code-implementatie met INSERT ALL:
De output van de bovenstaande code:
In het bovenstaande voorbeeld zijn drie rijen tegelijk in een tabel ingevoegd met een INSERT ALL-commando.
Om meer dan één rij in meerdere tabellen in te voegen, wordt een INSERT ALL-instructie gebruikt.
Syntaxis:
Hier zijn de c1, c2 en c3 de kolomnamen en zijn v1, v2 en v3 de waarden die moeten worden ingevoegd. De tabelnaam1, tabelnaam2 en tabelnaam3 zijn de tabelnamen.
# 2) VOORWAARDELIJK ALLES INVOEGEN
Een INSERT ALL-instructie kan meer dan één rij in tabellen invoegen, afhankelijk van bepaalde voorwaarden.
Syntaxis:
Het sleutelwoord ALL wordt gebruikt om aan te geven dat alle voorwaarden onder de WHERE-clausule moeten worden uitgevoerd. Als aan een voorwaarde is voldaan, wordt de bijbehorende INTO-clausule uitgevoerd.
Als het trefwoord FIRST wordt gebruikt, voert de Oracle voor elke afzonderlijke rij die wordt verkregen uit een subquery, de criteria uit in de clausule WHEN van boven naar beneden. Zodra aan een voorwaarde is voldaan, wordt de overeenkomstige INTO-clausule uitgevoerd en naar een andere WHEN-component voor die rij gesprongen.
We hebben de tabellen VOERTUIG, AUTO'S, SMALLCARS en LARGECARS gemaakt met behulp van de onderstaande SQL-instructies:
Voer de onderstaande waarden in de VOERTUIG-tabel in:
Code-implementatie met INSERT ALL.
De output van de bovenstaande code:
In het bovenstaande voorbeeld is één rij ingevoegd in elk van de drie tabellen op basis van de CARDID-waarde.
Er zijn bepaalde beperkingen met de instructie INSERT ALL:
- Het wordt alleen gebruikt voor het invoegen van waarden in tabellen. Het werkt niet met standpunten of gematerialiseerde opvattingen.
- Het is niet in staat om waarden in externe tabellen in te voegen.
- Het aantal kolommen dat een INSERT INTO-commando kan verwerken, mag niet groter zijn dan 999.
- Een expressie van een tabelverzameling kan niet worden gebruikt in een INSERT-opdracht met meerdere tabellen.
- Een INSERT-subquery met meerdere tabellen kan geen reeks gebruiken.
PL SQL Update-opdracht
De UPDATE-instructie wordt gebruikt om de waarden in een tabel te wijzigen. Het wordt ook wel een Data Manipulatie Taal Het gebruikt de namen van de tabel, kolom en waarden als invoer en voert de wijziging van waarden op de tabel uit.
Syntaxis:
Het SET-trefwoord wordt gebruikt om de kolomwaarde te wijzigen met de nieuwe waarde. Optioneel wordt het WHERE-sleutelwoord gebruikt, indien weggelaten, wordt de waarde van de opgegeven kolom in de volledige tabel gewijzigd.
UPDATE ÉÉN KOLOM VAN EEN RIJ
Laten we nog eens kijken naar de WERKNEMER-tabel.
Code-implementatie met UPDATE:
De output van de bovenstaande code:
UPDATE MEERDERE KOLOMMEN VAN EEN RIJ
Laten we nog eens kijken naar de WERKNEMER-tabel.
Code-implementatie met UPDATE:
De output van de bovenstaande code:
UPDATE MEERDERE RIJEN
Laten we nog eens kijken naar de WERKNEMER-tabel.
Code-implementatie met UPDATE:
Uitvoer van de bovenstaande code:
In bovenstaand voorbeeld is de AGE van alle medewerkers met 1 gestegen.
PL SQL-verwijderopdracht
De DELETE-instructie wordt gebruikt om een volledig record uit de tabel te verwijderen. Het wordt ook wel een Data Manipulatie Taal.
Syntaxis:
Het sleutelwoord FROM is niet verplicht en een DELETE-instructie zal hetzelfde resultaat opleveren als FROM wel of niet aan de query wordt toegevoegd. Optioneel wordt het WHERE-trefwoord gebruikt, indien weggelaten, wordt de volledige tabel verwijderd.
VERWIJDER ÉÉN RIJ UIT DE TABEL
Laten we nog eens kijken naar de WERKNEMER-tabel.
Code-implementatie met DELETE:
Uitvoer van de bovenstaande code:
VERWIJDER MEERDERE RIJEN UIT DE TABEL
Laten we opnieuw kijken naar de MANAGERDETAIL-tabel.
Code-implementatie met DELETE:
Uitvoer van de bovenstaande code:
VERWIJDER GEHELE RIJEN UIT DE TABEL
Laten we nog eens kijken naar de VOERTUIG-tabel.
Code-implementatie met DELETE:
Uitvoer van de bovenstaande code:
PL SQL-selectieopdracht
De SELECT-instructie wordt gebruikt om gegevens uit de database op te halen. De SELECT INTO-instructie wordt gebruikt om de waarden uit de database op te halen en op te slaan in de lokale variabelen die door de PL / SQL zijn geïntroduceerd.
Als we alleen een SELECT-instructie gebruiken, retourneert deze een enkel record. Als een SELECT-instructie meerdere waarden ophaalt, TOO_MANY_ROWS uitzondering wordt gegenereerd door PL / SQL. Terwijl we de SELECT INTO-instructie gebruiken, wijzen we ten minste één waarde toe aan de variabele. Als er echter geen record uit de database wordt opgehaald, wordt het GEEN DATA GEVONDEN uitzondering wordt gegenereerd.
Het aantal kolommen en hun type moet gelijk zijn aan het aantal variabelen en hun type in het INTO-sleutelwoord. De waarden worden uit de database gehaald in dezelfde volgorde als gedefinieerd in de SELECT-instructie.
Het WHERE-sleutelwoord in de SELECT-instructie is optioneel en stelt ons in staat om records te verkrijgen die aan bepaalde criteria voldoen. Het is belangrijk op te merken dat de SELECT-query met DELETE-, UPDATE- en INSERT-opdrachten geen INTO-clausule heeft.
Syntaxis:
FETCH GEGEVENS UIT ALLE KOLOMMEN VAN EEN TAFEL
Laten we nog eens kijken naar de WERKNEMER-tabel.
Code implementatie met SELECT:
Uitvoer van de bovenstaande code:
Code-implementatie met SELECT-instructie die een uitzondering genereert:
Uitvoer van de bovenstaande code:
De uitzondering 'geen gegevens gevonden' wordt gegenereerd omdat de SELECT-instructie er niet in is geslaagd een rij te verkrijgen die overeenkomt met de opgegeven voorwaarde, omdat er geen werknemer met CODE 2 in de database is.
FETCH GEGEVENS UIT EEN KOLOM VAN EEN TAFEL
Laten we nog eens kijken naar de WERKNEMER-tabel.
De output van de bovenstaande code:
FETCH GEGEVENS UIT MEERDERE KOLOMMEN VAN EEN TAFEL
Laten we nog eens kijken naar de WERKNEMER-tabel.
Uitvoer van de bovenstaande code:
In het bovenstaande voorbeeld zijn twee kolommen CODE en NAME toegevoegd aan de SELECT-instructie.
Veelgestelde vragen en antwoorden
V # 1) Wat is INSERT, UPDATE en DELETE in SQL?
hoe u een .bin-bestand opent in Windows 10
Antwoord: De INSERT, UPDATE en DELETE zijn commando's in SQL die helpen om gegevens te bedienen en bij te werken. De instructie INSERT voegt rijen in een tabel in. Met de DELETE-instructie worden rijen uit een tabel verwijderd en met de instructie UPDATE worden waarden in de rijen van de tabel bijgewerkt.
Q # 2) Kunnen we INSERT, UPDATE en DELETE in weergave in SQL?
Antwoord: Ja, we kunnen INSERT, UPDATE en DELETE in weergave in SQL. Als de weergave is samengevoegd tussen de tabellen, kunnen we alleen INSERT- en UPDATE-acties uitvoeren, maar geen DELETE-bewerking. De DROP-instructie wordt gebruikt om een weergave te verwijderen.
V # 3) Is INSERT DDL of DML?
Antwoord: De INSERT is een DML of Data Manipulation Language). De andere DML-instructies bevatten UPDATE, DELETE, enzovoort. DDL-instructie kan tabellen, schema's en databases maken.
Q # 4) Kunnen we de JOIN IN-verwijderquery gebruiken?
Antwoord: Ja, we kunnen de INNER JOIN-instructie in de DELETE-opdracht gebruiken om rijen uit een tabel te verwijderen.
V # 5) Wat is het verschil tussen de opdracht voor afkappen en verwijderen?
Antwoord: De TRUNCATE is een DDL-instructie, terwijl DELETE DML is. De opdracht TRUNCATE kan de volledige tabel verwijderen. Het behoudt de integriteit van de tafel niet. De DELETE-instructie kan alleen bepaalde gegevens op de tabel verwijderen. Het kan ook voorwaarden voor verwijdering bevatten.
V # 6) Wat zijn DML, DCL en DDL?
Antwoord: SQL-instructies zijn van de typen - DML, DCL en DML.
De Data Definition Language of DDL bevat opdrachten zoals ALTER, DROP, CREATE, RENAME, TRUNCATE en COMMENT. De Data Manipulation Language of DML bevat commando's als INSERT, DELETE, MERGE, UPDATE, CALL, LOCK TABLE en EXPLAIN PLAN.
De Data Control Language of DCL bevat commando's zoals GRANT en REVOKE.
V # 7) Is afkappen sneller dan vallen?
Antwoord: Ja, de werking van TRUNCATE is sneller dan DROP. De opdracht TRUNCATE verwijdert alleen de gegevens uit de tabel. Het DROP-commando wist de tabelstructuur en de gegevens uit de tabel.
Gevolgtrekking
In deze tutorial hebben we enkele basisconcepten van PL SQL-commando's in detail besproken die essentieel zijn om er kennis over te ontwikkelen. We hebben de volgende onderwerpen behandeld:
- Gegevensmanipulatie Taalopdrachten.
- Gebruik van PL SQL INSERT.
- Gebruik van PL SQL UPDATE.
- Gebruik van PL SQL DELETE.
- Gebruik van PL SQL SELECT.
<< PREV Tutorial VOLGENDE Tutorial >>
Aanbevolen literatuur
- PL SQL-zelfstudie voor beginners met voorbeelden | Wat is PL / SQL
- PL SQL-cursor en tekenreeksen: zelfstudie met codevoorbeelden
- PL SQL-gegevenstypen, variabelen, constanten en letterlijke waarden
- PL SQL Datetime-formaat: datum- en tijdfuncties in PL / SQL
- PL SQL-pakket: Oracle PL / SQL-pakket zelfstudie met voorbeelden
- MySQL invoegen in tabel - Verklaring syntaxis en voorbeelden invoegen
- MySQL Update Statement Tutorial - Update Query Syntax & Voorbeelden
- MySQL Delete-instructie - Verwijder opdrachtsyntaxis en voorbeelden