Dynaaminen SQL on ohjelmointi tekniikka, jonka avulla voit rakentaa SQL dynaamisesti suorituksen. Voit luoda enemmän yleiskäyttöön, joustava sovelluksia käyttämällä dynaaminen SQL, koska koko teksti SQL-lause voi olla tuntematon kokoelma. Esimerkiksi dynaamisen SQL: n avulla voit luoda menettelyn, joka toimii pöydällä, jonka nimi ei ole tiedossa ennen ajoaikaa.,

Oracle sisältää kaksi tapaa toteuttaa dynaaminen SQL PL/SQL-sovellus:

  • Kotoisin dynaaminen SQL, jossa voit sijoittaa dynaamisia SQL-käskyjä suoraan PL/SQL-lohkot.
  • kutsumusmenettelyt DBMS_SQL – paketissa.

Tämä luku kattaa seuraavat aiheet:

  • ”Mitä On Dynaaminen SQL?”
  • ” Miksi käyttää dynaamista SQL: ää?,”
  • ”Dynaaminen SQL Skenaario Käyttämällä Natiivi Dynaaminen SQL”
  • ”Valita Välillä Natiivi Dynaaminen SQL ja DBMS_SQL Paketti”
  • ”Käyttämällä Dynaaminen SQL Muilla Kielillä Kuin PL/SQL”
  • ”Käyttämällä PL/SQL-Kirjaa SQL INSERT-ja UPDATE Lausuntoja”

Voit löytää lisätietoja DBMS_SQL paketti Oracle9i Toimitetaan PL/SQL-Paketteja ja Tyypit Viite.

mikä on dynaaminen SQL?

dynaamisen SQL: n avulla voit kirjoittaa ohjelmia, joissa viitataan SQL-lauseisiin, joiden koko teksti ei ole tiedossa ennen Runtimea., Ennen kuin keskustelemme dynaaminen SQL yksityiskohtaisesti, selkeä määritelmä staattinen SQL voi tarjota hyvän lähtökohdan ymmärtäminen dynaaminen SQL. Staattiset SQL-lausekkeet eivät muutu suorituksesta suoritukseen. Koko teksti staattinen SQL-lausunnot ovat tiedossa kokoelma, joka tarjoaa seuraavat edut:

  • Onnistuneen kokoelma tarkistaa, että SQL viittaus voimassa tietokannan objekteja.
  • Onnistuneen kokoelma tarkistaa, että tarvittavat oikeudet ovat voimassa pääsy tietokantaan esineitä.,
  • staattisen SQL: n suorituskyky on yleensä parempi kuin dynaamisen SQL: n.

Koska nämä edut, sinun pitäisi käyttää dynaamista SQL vain, jos et voi käyttää staattinen SQL saavuttaa tavoitteesi, tai jos käytät staattinen SQL on hankalaa verrattuna dynaaminen SQL. Staattisella SQL: llä on kuitenkin rajoituksia, jotka voidaan voittaa dynaamisella SQL: llä. Et välttämättä aina tiedä SQL-lausekkeiden koko tekstiä, joka on suoritettava PL / SQL-menettelyssä., Ohjelma voi hyväksyä käyttäjä syöttää joka määrittää SQL suorittaa, tai ohjelma voi suorittaa joitakin käsittely työ määrittää oikea toimintatapa. Tällaisissa tapauksissa, sinun pitäisi käyttää dynaamista SQL.

esimerkiksi, raportointi sovellus tietovarasto ympäristö välttämättä tiedä tarkkaa taulukon nimi, kunnes runtime., Nämä taulukot voi olla nimetty mukaan alkaen kuukausi ja vuosi neljänneksellä, esimerkiksi INV_01_1997, INV_04_1997, INV_07_1997, INV_10_1997, INV_01_1998, ja niin edelleen. Voit käyttää dynaamista SQL: ää raportointisovelluksessasi määritelläksesi taulukon nimen Runtimen aikana.

saatat myös haluta suorittaa monimutkaisen kyselyn käyttäjän valittavalla lajittelujärjestyksellä., Sen sijaan, että koodaus kyselyn kahdesti, eri ORDER BY lausekkeita, voit rakentaa kyselyn dynaamisesti ovat määritelty ORDER BY lauseke.

dynaamiset SQL-ohjelmat voivat käsitellä tiedon määritelmien muutoksia ilman tarvetta uudelleenkomplikoida. Tämä tekee dynaamisesta SQL: stä paljon joustavamman kuin staattisesta SQL: stä. Dynamic SQL voit kirjoittaa uudelleenkäytettävää koodia, koska SQL voidaan helposti mukauttaa eri ympäristöihin..,

Dynaaminen SQL avulla voit myös suorittaa data definition language (DDL) lausunnot ja muut SQL lausuntoja, jotka eivät tue puhtaasti staattinen SQL-ohjelmia.

Miksi käyttää dynaamista SQL: ää?

Sinun pitäisi käyttää dynaamista SQL tapauksissa, joissa staattinen SQL ei tue toimintaa haluat suorittaa, tai tapauksissa, joissa et tiedä tarkkaa SQL, että se tulee suorittaa PL/SQL-menettelyä. Nämä SQL voi riippua käyttäjä syöttää, tai ne voivat riippua käsittely työn ohjelma.,DL and SCL Statements in PL/SQL

In PL/SQL, you can only execute the following types of statements using dynamic SQL, rather than static SQL:

  • Data definition language (DDL) statements, such as CREATE, DROP, GRANT, and REVOKE
  • Session control language (SCL) statements, such as ALTER SESSION and SET ROLE

    See Also:

    Oracle9i SQL Reference for information about DDL and SCL statements.,

voit Myös käyttää vain TABLE lauseke SELECT julkilausuman kautta dynaaminen SQL. Esimerkiksi seuraavassa PL/SQL-lohkon sisältää SELECT tiliotteen, joka käyttää TABLE lauseke ja natiivi dynaaminen SQL:

Suorittamista Dynaaminen Kyselyt

Voit käyttää dynaamista SQL luoda sovelluksia, jotka suorittaa dynaamisia kyselyitä, joiden koko teksti ei ole tiedossa, kunnes runtime., Monenlaisia sovelluksia on käyttää dynaamisia kyselyitä, mukaan lukien:

  • Sovelluksia, joiden avulla käyttäjät voivat syöttää tai valita haku tai lajittelu kriteerit suorituksen
  • Sovelluksia, joiden avulla käyttäjät voivat syöttää tai valita optimizer vihjeitä suorita kerta
  • Sovelluksia, jotka kyselyn tietokantaan, jossa tiedot määritelmät taulukot muuttuvat jatkuvasti
  • Sovelluksia, jotka kyselyn tietokantaan, jossa uudet taulukot ovat luotu usein

esimerkkejä, katso ”Hakujen Käyttää Dynaamista SQL: Esimerkki”, ja nähdä kyselyn esimerkkejä ”Dynaaminen SQL Skenaario Käyttämällä Natiivi Dynaaminen SQL”.,

Löytymistä Tietokannan Objekteja, jotka eivät Ole tällä Kokoaminen

monenlaisia sovelluksia on vuorovaikutuksessa tiedot, jotka on luotu säännöllisesti. Saatat esimerkiksi tietää taulukoiden määritelmät kokoamisajankohtana, mutta et taulukoiden nimiä.

dynaaminen SQL voi ratkaista tämän ongelman, koska sen avulla voit odottaa Runtimen määrittämistä taulukon nimien määrittämiseksi. Esimerkiksi Näyte Data warehouse sovellus käsitellään ” mikä on dynaaminen SQL?”, uusia taulukoita syntyy joka vuosineljännes, ja näissä taulukoissa on aina sama määritelmä., Saatat antaa käyttäjän määrittää nimi pöydän runtime dynaaminen SQL kyselyn seuraavan kaltainen:

Optimoimalla Toteutus Dynaamisesti

Voit käyttää dynaamista SQL rakentaa SQL tavalla, joka optimoi suorituksen by ketjuttamalla vihjeitä osaksi SQL dynaamisesti. Tämän avulla voit muuttaa vihjeitä nykyisen tietokannan tilastojen perusteella ilman, että vaaditaan uudelleentarkastelua.,

esimerkiksi seuraavaa menettelyä käyttää muuttuja nimeltä a_hint avulla käyttäjät voivat siirtää vihje vaihtoehto SELECT selvitys:

tässä esimerkissä, käyttäjä voi siirtää jonkin seuraavista arvoista a_hint:

a_hint = '/*+ ALL_ROWS */'a_hint = '/*+ FIRST_ROWS */'a_hint = '/*+ CHOOSE */'tai mikä tahansa muu voimassa oleva vihje vaihtoehto.


Katso Myös:

Oracle9i Database Performance Opas ja Viite lisätietoja käyttäen vihjeitä.,

Suorittamista Dynaaminen PL/SQL-Lohkot

Voit käyttää EXECUTE IMMEDIATE statement execute anonymous PL/SQL-lohkot. Voit lisätä joustavuutta rakentamalla lohkon sisällön runtime.

Oletetaan esimerkiksi, että ythroughroughlou haluaa kirjoittaa sovelluksen, joka ottaa tapahtumanumeron ja lähettää tapahtuman käsittelijälle. Nimi handler on muodossa EVENT_HANDLER_event_num, jossa event_num on määrä tapahtuma., Yksi lähestymistapa on toteuttaa lähettäjä, kuten kytkin selvitys, jossa koodi käsittelee kunkin tapahtuman tekemällä staattisia soittaa sen asianmukainen handler. Tämä koodi ei ole kovin laajennettavissa, koska lähettäjän koodi on päivitettävä aina, kun käsittelijä uuden tapahtuman lisätään.,

Käyttämällä natiivi dynaaminen SQL, voit kirjoittaa pienempi, joustavampi tapahtuma lähettäjä seuraavan kaltainen:

Suorittaa Dynaaminen Toiminta Käyttämällä Invoker-Oikeuksia

käyttämällä invoker-oikeudet ominaisuus dynaaminen SQL, voit rakentaa sovelluksia, että kysymys dynaaminen SQL nojalla erioikeuksia ja skeema invoker. Nämä kaksi ominaisuuksia, manaaja-oikeudet ja dynaaminen SQL, jotta voit rakentaa uudelleenkäytettäviä sovellus alikomponentit, jotka voivat toimia ja käyttää invoker tiedot ja moduulit.,


Katso Myös:

PL/SQL-Käyttäjän Opas ja Viite tietoja käyttäen invokers-oikeudet ja natiivi dynaaminen SQL.,

Dynaaminen SQL Skenaario Käyttämällä Natiivi Dynaaminen SQL

Tämä skenaario osoittaa, miten voit suorittaa seuraavat toiminnot käyttämällä natiivi dynaaminen SQL:

  • Suorittaa DDL ja DML-operaatioita
  • Suorittaa yhden rivin ja useita peräkkäin kyselyt

tietokanta tässä skenaariossa on yrityksen human resources-tietokanta (nimetty hr) seuraavat tiedot malli:

master taulukko nimeltä offices sisältää listan kaikista toimipaikoista., offices taulukko on seuraava määritelmä:

Column Name Null? Type LOCATION NOT_NULL VARCHAR2(200)

Useita emp_sijainti taulukot sisältävät työntekijän tiedot, jos sijainti on nimi kaupunki, jossa toimisto sijaitsee. Esimerkiksi taulukon nimeltä emp_houston sisältää työntekijän tiedot yhtiön Houston office, kun taas taulukon nimeltä emp_boston sisältää työntekijän tiedot yhtiön Boston office.,

Jokainen emp_sijainti taulukko on seuraava määritelmä:

seuraavissa osioissa kuvataan eri natiivi dynaaminen SQL toiminnot, jotka voidaan suorittaa tiedot hr tietokanta.

Näyte DML-Operaatiota Käyttäen Natiivi Dynaaminen SQL

seuraavat native dynaaminen SQL menettely antaa palkankorotuksen kaikille työntekijöille, joilla on tietty ammattinimike:

Näyte DDL Toiminta Käyttämällä Natiivi Dynaaminen SQL

EXECUTE IMMEDIATE lausunto voi suorittaa DDL toimintaa., Esimerkiksi seuraava menettely lisää toimisto sijainti:

seuraava menettely poistaa toimisto sijainti:

Näyte Yhden Rivin Kyselyn Käyttämällä Natiivi Dynaaminen SQL

EXECUTE IMMEDIATE lausunto voi suorittaa dynaaminen yhden rivin kyselyt. Voit määrittää sidottua muuttujaa USING lauseke ja noutaa tuloksena rivi osaksi tavoite määritelty INTO lauseke tuloslaskelmaan.,

seuraava toiminto hakee työntekijöiden määrä tietyssä paikassa suorittaa tietty työ:

Näyte Useita Peräkkäin Kysely Käyttäen Natiivi Dynaaminen SQL

OPEN-FOR, FETCH ja CLOSE lausunnot voi suorittaa dynaaminen useita peräkkäin kyselyt., Esimerkiksi seuraavat toimet luetellaan kaikki työntekijät tiettyä työtä tiettyyn paikkaan:

Valita Välillä Natiivi Dynaaminen SQL ja DBMS_SQL Paketti

Oracle tarjoaa kaksi tapaa käyttää dynaamista SQL majoitusliike, PL/SQL: native dynaaminen SQL ja DBMS_SQL paketti. Natiivi dynamic SQL voit sijoittaa dynaamiset SQL lausekkeet suoraan PL / SQL-koodiin. Nämä dynaamiset lausumat sisältävät DML-lausekkeita (mukaan lukien kyselyt), PL/SQL anonyymi lohkot, DDL lauseiden, kauppa ohjaus lausuntoja, ja session control lausuntoja.,

To process most native dynamic SQL statements, you use the EXECUTE IMMEDIATE statement. To process a multi-row query (SELECT statement), you use OPEN-FOR, FETCH, and CLOSE statements.


Note:

To use native dynamic SQL, the COMPATIBLE initialization parameter must be set to 8.1.0 or higher. See Oracle9i Database Migration for more information about the COMPATIBLE parameter.,

DBMS_SQL paketti on PL/SQL-kirjasto, joka tarjoaa API, joka suoritetaan SQL dynaamisesti. DBMS_SQL paketti on menettelyjä avata kursori, jäsentää kursori, tarjonta sitoo, ja niin edelleen. Ohjelmat, jotka käyttävät DBMS_SQL paketti soittaa tämän paketin suorittaa dynaaminen SQL-operaatioita.

seuraavissa jaksoissa annetaan yksityiskohtaista tietoa molempien menetelmien eduista.,


Katso Myös:

PL/SQL-Käyttäjän Opas ja Viite yksityiskohtaiset tiedot käyttäen natiivi dynaaminen SQL ja Oracle9i Toimitetaan PL/SQL-Paketteja ja Tyypit Viite yksityiskohtaiset tiedot käyttäen DBMS_SQL paketti. PL / SQL-käyttäjän oppaassa ja viittauksessa natiivista dynaamista SQL: ää kutsutaan yksinkertaisesti dynaamiseksi SQL: ksi.,

Edut Natiivi Dynaaminen SQL

Native dynaaminen SQL tarjoaa seuraavat edut yli DBMS_SQL pakkauksessa:

Native Dynaaminen SQL on Helppo Käyttää

Koska natiivi dynaaminen SQL on integroitu SQL, voit käyttää sitä samalla tavalla, että käytät staattinen SQL majoitusliike, PL/SQL-koodin. Native dynaaminen SQL-koodi on yleensä enemmän kompakti ja luettavissa kuin vastaava koodi, joka käyttää DBMS_SQL paketti.,

, Jossa DBMS_SQL paketti sinun täytyy soittaa monia menettelyjä ja toimintojen tiukasti järjestyksessä, joten jopa yksinkertainen toiminnot vaativat paljon koodia. Voit välttää tämän monimutkaisuuden käyttämällä natiivi dynaaminen SQL sijaan.

Taulukko 8-1 havainnollistaa ero määrä koodia tarvitaan suorittaa saman toiminnon käyttäminen DBMS_SQL paketti ja natiivi dynaaminen SQL.,

Taulukko 8-1 Koodi Vertailu DBMS_SQL Paketti ja Natiivi Dynaaminen SQL

Native Dynaaminen SQL on Nopeampi kuin DBMS_SQL

Native dynaaminen SQL tai PL/SQL suorittaa suhteellisen suorituskyvyn staattinen SQL, koska PL/SQL-tulkki on sisäänrakennettu tuki se. Ohjelmat, jotka käyttävät äidinkielenään dynaaminen SQL ovat paljon nopeammin kuin ohjelmat, jotka käyttävät DBMS_SQL paketti. Tyypillisesti, kotoisin dynaaminen SQL suorittaa 1,5-3 kertaa parempi kuin vastaava DBMS_SQL puhelut. (Suoritusvoitot voivat vaihdella sovelluksestasi riippuen.,)

Native dynaaminen SQL nippuja lausunnon valmistelu, sitova, ja suorituksen vaiheet yhdeksi toimintaa, joka minimoi tietojen kopiointi ja procedure call yläpuolella ja parantaa suorituskykyä.

DBMS_SQL paketti perustuu menettelyyn API ja syntyy korkea procedure call ja tiedot kopioida yläpuolella. Joka kerta sitoa muuttuja, DBMS_SQL paketti kopioi PL/SQL sitoa muuttuja osaksi tilaa käyttää suorituksen aikana., Joka kerta kun suorittaa noutaa, tiedot on kopioitu tilaa hallinnoi DBMS_SQL paketti ja sitten haettu data on kopioitu, yksi sarake kerrallaan, oikeaan PL/SQL-muuttujia, jolloin huomattava yläpuolella.

Suorituskyky Vihje: sidottujen Muuttujien Käyttäminen

Kun käytät joko natiivi dynaaminen SQL tai DBMS_SQL paketti, voit parantaa suorituskykyä käyttämällä sitoa muuttujia, koska sidottujen muuttujien avulla Oracle jakaa yhden kohdistin useita SQL lausuntoja.,

esimerkiksi seuraavat native dynaaminen SQL-koodia ei saa käyttää sidottuja muuttujia:

jokaisen erillisen my_deptno muuttuja, uusi kohdistin on luotu, jolloin resurssi väittää ja huono suorituskyky. Sen sijaan, sitoa my_deptno kuin sitoa muuttuja:

Täällä sama kursori on käyttää uudelleen eri arvot sitoa my_deptno, parantaa suorituskykyä ja scalabilty.,

Native Dynaaminen SQL Tukee Käyttäjän määrittämiä Tyyppejä

Native dynaaminen SQL tukee kaikki tyypit tuettu staattinen SQL tai PL/SQL, mukaan lukien käyttäjän määrittämät tyypit, kuten käyttäjän määrittämiä objekteja, kokoelmia, ja REFs. DBMS_SQL paketti ei tue näitä käyttäjän määrittelemät tietotyypit.


Note:

DBMS_SQL paketti sisältää rajoitettu tuki taulukot. Katso lisätietoja Oracle9i: n toimittamista PL / SQL-paketeista ja-tyypeistä.,

Native Dynaaminen SQL Tukee Noudettaessa Osaksi Kirjaa

Native dynaaminen SQL ja staattinen SQL sekä tukea hakemalla osaksi kirjaa, mutta DBMS_SQL pakettia ei ole. Natiivi-dynaamisella SQL: llä kyselystä johtuvat rivit voidaan hakea suoraan PL/SQL-tietueisiin.,

seuraavassa esimerkissä rivit kysely on haettu sisälle emp_rec record:

Edut DBMS_SQL Paketti

DBMS_SQL paketti tarjoaa seuraavat edut yli kotoisin dynaaminen SQL:

DBMS_SQL Tukee Client-Side-Ohjelmat

DBMS_SQL paketti tukee client-side-ohjelmia, mutta natiivi dynaaminen SQL ei ole., Jokainen puhelu DBMS_SQL paketti client-side ohjelma kääntää PL/SQL, remote procedure call (RPC); nämä puhelut syntyy, kun sinun täytyy sitoa muuttuja, määritellään muuttuja, tai suorittaa lausunnon.

DBMS_SQL Tukee KUVATA

DESCRIBE_COLUMNS menettely DBMS_SQL paketti voidaan käyttää kuvaamaan sarakkeet kohdistin avata ja jäsentää läpi DBMS_SQL. Tämä ominaisuus on samanlainen kuin DESCRIBE komento SQL*Plus., Native dynaaminen SQL ei ole DESCRIBE laitos.

DBMS_SQL Tukee Useita Peräkkäin Päivitykset ja Poistaa kun PALAA Lauseke

DBMS_SQL paketti tukee lausuntoja, jossa RETURNING lauseke, joka päivittää tai poistaa useita rivejä. Native dynamic SQL tukee RETURNING lauseketta vain, jos Yksittäinen rivi palautetaan.,


See Also:

”Performing DML with RETURNING Clause Using Dynamic SQL: Example” for examples of DBMS_SQL package code and native dynamic SQL code that uses a RETURNING clause.

DBMS_SQL Supports SQL Statements Larger than 32KB

The DBMS_SQL package supports SQL statements larger than 32KB; native dynamic SQL does not.

DBMS_SQL Lets You Reuse SQL Statements

The PARSE procedure in the DBMS_SQL package parses a SQL statement once., Alkuperäisen jäsennyksen jälkeen voit käyttää lausumaa useita kertoja erilaisilla sidosargumenteilla.

natiivi dynamic SQL laatii SQL-lausuman aina, kun lauseketta käytetään, mihin liittyy tyypillisesti jäsentäminen, optimointi ja plan generation. Vaikka extra prepare-toiminnot aiheuttavat pienen suorituskyvyn rangaistuksen, hidastuminen on tyypillisesti suurempi kuin natiivin dynaamisen SQL: n suorituskykyedut.,

Esimerkkejä DBMS_SQL Paketin Koodi ja Natiivi Dynaaminen SQL-Koodin

seuraavat esimerkit havainnollistavat eroja koodi tarpeen täydentää toimintaa, jossa DBMS_SQL paketti ja natiivi dynaaminen SQL. Erityisesti seuraavanlaisia esimerkkejä on esitetty:

  • kysely
  • DML-toiminta
  • DML returning toiminta

yleensä, natiivi dynaaminen SQL-koodi on luettavissa ja kompakti, joka voi parantaa kehittäjä tuottavuutta.,

Istä Käyttää Dynaamista SQL: Esimerkki

seuraava esimerkki sisältää dynaamisen kyselyn julkilausuma, jossa yksi sitoa muuttuja (:jobname) ja kaksi valitse sarakkeet (ename ja sal):

stmt_str := 'SELECT ename, sal FROM emp WHERE job = :jobname';

Tämä esimerkiksi kyselyitä työntekijöille, joilla työn kuvaus SALESMAN job sarake emp taulukko. Taulukko 8-2 osoittaa näytteen koodi, joka tekee tämän kyselyn avulla DBMS_SQL paketti ja natiivi dynaaminen SQL.,

Taulukko 8-2 Istä Käyttäen DBMS_SQL Paketti ja Natiivi Dynaaminen SQL

Suorittaa DML Käyttää Dynaamista SQL: Esimerkki

seuraava esimerkki sisältää dynaamisen INSERT selvitys taulukko, jossa on kolme saraketta:

stmt_str := 'INSERT INTO dept_new VALUES (:deptno, :dname, :loc)';

Tämä esimerkki lisää uuden rivin, johon sarakkeen arvot ovat PL/SQL-muuttujia deptnumber, deptname ja location. Taulukossa 8-3 on näytekoodi, joka toteuttaa tämän DML-toiminnon käyttäen DBMS_SQL – pakettia ja natiivista dynaamista SQL-koodia.,

Taulukko 8-3 DML-Operaatiota Käyttäen DBMS_SQL Paketti ja Natiivi Dynaaminen SQL

Suorittaa DML kanssa PALAAMASSA Lauseke Käyttää Dynaamista SQL: Esimerkki

seuraava esimerkki käyttää dynaamista UPDATE selvitys päivittää sijainnin osasto, sitten palauttaa osaston nimi:

stmt_str := 'UPDATE dept_new SET loc = :newloc WHERE deptno = :deptno RETURNING dname INTO :dname';

Taulukko 8-4 osoittaa näytteen koodi, joka toteuttaa tämän operaation avulla sekä DBMS_SQL paketti ja natiivi dynaaminen SQL.,

Taulukko 8-4 DML Returning Käyttö Käyttää DBMS_SQL Paketti ja Natiivi Dynaaminen SQL

Käyttää Dynaamista SQL Muilla Kielillä Kuin PL/SQL

Vaikka tässä luvussa käsitellään PL/SQL-tuki dynaaminen SQL, voit soittaa dynaaminen SQL muista kielistä:

  • Jos käytetään C/C++, voit soittaa dynaaminen SQL kanssa Oracle Call Interface (OCI), tai voit käyttää Pro*C/C++ precompiler lisätä dynaaminen SQL-laajennukset C-koodia.
  • Jos käytät COBOLIA, voit käyttää Pro*COBOL-precompileria lisätäksesi dynaamisia SQL-laajennuksia COBOL-koodiisi.,
  • Jos käytät Javaa, voit kehittää sovelluksia, jotka käyttävät dynaamista SQL: ää JDBC: n kanssa.

Jos sinulla on sovellus, joka käyttää OCI, Pro*C/C++, tai Pro*COBOL toteuttaa dynaaminen SQL, sinun pitäisi harkita siirtymistä kotoisin dynaaminen SQL sisällä PL/SQL tallennetut proseduurit ja funktiot. Asiakassovellusten dynaamisten SQL-toimintojen suorittamiseen tarvittavat verkkokierrosmatkat saattavat vahingoittaa suorituskykyä. Tallennetut menettelyt voivat oleskella palvelimella, poistamalla verkon yläpuolella., Voit soittaa PL/SQL tallennetut menettelyt ja tallennetut toiminnot OCI, Pro*c/c++, tai Pro*COBOL sovellus.,br>Katso Myös:

lisätietoja soittamalla Oracle tallennetut ja tallennetut toiminnot eri kielillä, katso:

  • Oracle Call Interface Programmer ’s Guide
  • Pro*C/C++ Precompiler Programmer’ s Guide
  • Pro*COBOL Precompiler Programmer ’ s Guide
  • Oracle9i Java Tallennetut Kehittäjän Opas

Käyttämällä PL/SQL-Kirjaa SQL INSERT-ja UPDATE Lausuntoja

Vaikka voit luetella jokainen kenttä on PL/SQL-ennätys, kun asennat tai päivittää rivit-taulukkoon, jolloin koodi ei ole erityisesti luettavissa tai ylläpidettävissä., Sen sijaan, voit käyttää PL/SQL kirjaa suoraan näissä lausunnoissa. Kätevin tekniikka on ilmoittaa ennätys käyttäen %ROWTYPE-attribuuttia, jotta siinä on täsmälleen samat kentät kuin SQL-taulukossa.

Vaikka tämä tekniikka auttaa integroida PL/SQL-muuttujat ja tyypit tiiviimmin SQL DML-lausekkeita, et voi käyttää PL/SQL-kirjaa kuin sitoa muuttujia dynaaminen SQL lausuntoja.