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
, andREVOKE
- Session control language (SCL) statements, such as
ALTER
SESSION
andSET
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.
Vastaa