Oracle , de object - relationele database management programma van de Oracle Corporation , Build kunt u SQL-instructies gebruiken voor het opslaan, beheren , ophalen en weergeven van gegevens. Query kan de gebruiker communiceren met de database SQL commando . Een dynamische SQL-query biedt een breder scala van mogelijkheden dan een standaard query. U kunt gebruik maken van dynamische queries naar SQL- opdrachten uit te voeren tijdens de runtime , zoals bij het bedienen met een tafel die je niet kent de naam van de tot dan toe . Instructies Open Oracle 1 en klik op het pictogram om de SQL Workshop gereedschap te openen . Kopen van 2 schrijven in de SQL- statements om objecten en typen tabel te maken . U kunt ze als een soort matrijs voor andere tabellen in de database. De kracht achter de dynamische SQL-instructies is dat u de tabel kunt maken en bevragen het tijdens runtime . "CREATE TYPE t_students AS OBJECT ( studentId NUMBER , full_name VARCHAR2 ( 30 ) ) op /< br > CREATE TYPE t_studentlist AS TAFEL van t_student /t_students studentId " en " full_name " waarden " die zal gebruiken " " In de bovenstaande verklaringen , u een database gemaakt met de naam " unieke identifiers ( een manier om een record in een database te identificeren ) . De " studentId " waarde zal een variabele " NUMBER " te zijn , wat betekent dat alleen nummers opslaan in het veld " studentId " . De " full_name " waarde kan slechts maximaal 30 lettertekens . Tot slot , een soort tafel ( " t_studentlist " ) werd opgericht binnenkant van de " t_student " database. Verander deze waarden om het type gegevens dat u in uw Oracle-database beter te vertegenwoordigen . 3 Schrijf de SQL-statements om de werkelijke tabellen in de database te creëren . De tabel leent de structuur van de soorten die u hebt gemaakt in stap 2 , dus je hoeft niet aan de kenmerken opnieuw opgeven . Met behulp van hetzelfde voorbeeld , zal de SQL om de tabellen te maken als volgt uitzien : " CREATE TABLE students_new ( studentId NUMBER , studenten t__studentlist ) geneste tabel studenten STORE AS student_table ; " de " students_new " tafel zal verbinden met de " studenten " tafel en " t_studentlist " met behulp van het veld " studentId " . Elke student in de tabel hebben een uniek nummer dat de informatie van de student in elke tabel verbindt . Op deze manier hoef je niet repetitief gegevens in de tabellen . Bijvoorbeeld, in een student -database , moet je een tabel die de student contactgegevens ( naam , telefoonnummer en postadres ) en een andere tafel dat de huidige planning van de student bezit houdt . Het enige veld dat ongewijzigd in beide tabellen is de " studentId " veld dat de gegevens verbindt . U kunt het veld " studentId " gebruiken om een query die de naam van de student en het telefoonnummer trekt van de student contactinformatie en agenda gegevens van de student uit het schema tafel te schrijven . 4 Schrijf een SQL-query te informatie toe te voegen aan uw tabellen . Verklaren twee variabelen dat deze informatie uit de tabel later te worden gebruikt in de dynamische vraag zal trekken . " INSERT INTO students_new WAARDEN ( 10 , t_studentlist ( < br t_students > ( 1 , ' John Doe ' ) , t_students ( 2 , ' Jane Smith " ) ) ) ; DECLARE majorId NUMMER ; < br > sname VARCHAR1 ( 20 ) ; " Twee studenten werden toegevoegd aan de tabel . John Doe heeft een studentenkaart van " 1 " en Jane Smith heeft een studentenkaart van " 2 . " Alle door de databank John Doe 's informatie moet een ID van " 1 . " 5 Voer de query . Dit deel zal de dynamische SQL voegen . Een van de namen van de tabellen ' is niet bekend op het moment dat u de query code , maar het zal beschikbaar zijn tijdens runtime worden . Maak een tijdelijke plaatsaanduiding plaats . "BEGIN VOER DIRECT ' SELECT s.studentId , s.fullname VANAF students_new s , TAFEL ( s.students ) s < br > WHERE s.studentId = 1 ' INTO majorId , sname ; END ; /" In de dynamische query, u nemen van informatie van de " students_new " tafel en schoot de " majorId " en " sname " velden van een tabel die niet in deze tijd ( ( s.students ) s ) bekend zijn . U vraagtekens bij de databank voor informatie over een student met een ID van " 1 . " Met behulp van het voorbeeld , John Doe is geselecteerd uit de tafel van de studenten ' student en toegevoegd aan de onbekende tafel . Druk 6 de " F9 "-toets op uw toetsenbord om de query uit te voeren en te testen . < br >
|