Példák
Parent Directory
Az alábbi példák leírása feltételezi, hogy az ablinux Oracle adatbázis szerveren van egy buci login azonosítójú
felhasznaáló, akinek létezik egy buci azonosítóval és Kis-buci jelszóval elérhető adatbázisa. Az alábbi példák
mindegyike ilyen adatbázis login azonosítóra és jelszóra hivatkozik. A közölt példák csak ízelítőt adnak a C-be
ágyazott SQL használatáról. A témához ajánlott irodalom: Oracle on-line dokumentáció PROC könyv.
cursor.pc : a (létező) dolgozok nevű adatbázis táblát kérdezi le egy kurzor segítségével.
A program előkészítéséhez és indításához az alábbi parancsok szükségesek:
buci@ablinux:~> proc PARSE=NONE INCLUDE=/usr/include INCLUDE=/usr/include/linux cursor.pc
buci@ablinux:~> cc -I$ORACLE_HOME/precomp/public -L$ORACLE_HOME/lib/ -lclntsh -o cursor cursor.c
buci@ablinux:~> ./cursor
dynamic.pc : dinamikusan létrehozza az INFRND táblát, a source nevű operációsrendszer-közeli
file-ból feltölti, majd ugyancsak kurzort használva lekérdezi. A program előkészítéséhez
és indításához az alábbi parancsok szükségesek:
buci@ablinux:~> proc PARSE=NONE INCLUDE=/usr/include INCLUDE=/usr/include/linux dynamic.pc
buci@ablinux:~> cc -I$ORACLE_HOME/precomp/public -L$ORACLE_HOME/lib/ -lclntsh -o dynamic dynamic.c
buci@ablinux:~> ./dynamic buci Kis-buci source
dplsql.pc : a dynamic.pc egy olyan változata, amelyben az adatbázistáblában egy kulcsmező is
van, és amelyben az adatbázis műveleteket beágyazott PL/SQL blokkokban implementáltuk.
A program előkészitéséhez és indításához a következő parancsokra van szükség:
buci@ablinux:~> proc PARSE=NONE INCLUDE=/usr/include INCLUDE=/usr/include/linux SQLCHECK=SEMANTICS dplsql.pc
buci@ablinux:~> cc -I$ORACLE_HOME/precomp/public -L$ORACLE_HOME/lib/ -lclntsh -o dplsql dplsql.c
buci@ablinux:~> ./dplsql buci Kis-buci source
Valahányszor PL/SQL blokk kerül beágyazáasra a preprocesszornak az SQLCHECK opcióját
SEMANTICS-ra, vagy FULL-ra kell állítani. A beállitás törénhet a source programban is az
EXEC ORACLE OPTION (SQLCHECK=SEMANTICS) mintára.
dplsqltab.pc : a dplsql.pc egy olyan változata, amelyben a lekérdezést a plsqlb.pc külső függvényben
implementált PL/SQL blokkban végezzük Bulk Collect Select-tel (itt nincs kulcsmezőnk).
A program előkészítéséhez és indításához pl. az alábbi parancsok kellenek:
buci@ablinux:~> proc PARSE=NONE INCLUDE=/usr/include INCLUDE=/usr/include/linux SQLCHECK=SEMANTICS dplsqltab.pc
buci@ablinux:~> cc -I$ORACLE_HOME/precomp/public -L$ORACLE_HOME/lib/ -c dplsqltab.c
buci@ablinux:~> proc PARSE=NONE INCLUDE=/usr/include INCLUDE=/usr/include/linux SQLCHECK=SEMANTICS plsqlb.pc
buci@ablinux:~> cc -I$ORACLE_HOME/precomp/public -L$ORACLE_HOME/lib/ -c plsqlb.c
buci@ablinux:~> cc -I$ORACLE_HOME/precomp/public -L$ORACLE_HOME/lib/ -lclntsh -o dplsqltab dplsqltab.o plsqlb.o
buci@ablinux:~> ./dplsqltab buci Kis-buci source
|