PL/SQL
A Wikipédiából, a szabad enciklopédiából.
A PL/SQL az Oracle által kifejlesztett programozási nyelv. Oracle adatbáziskezelőt használva ezen a nyelven írhatunk triggereket és más tárolt eljárásokat. A nyelv alapja az Ada programozási nyelv; természetesen a PL/SQL magában foglalja az SQL nyelvet, pontosabban annak SELECT, INSERT, DELETE, UPATE illetve OPEN, FETCH, CLOSE utasításait.
Példaprogramok
- Egy 'my_table_before' nevű triggert definiálunk, amely a 'my_table' tábla 'statusz' mezője alapján tartja karban a 'my_stat_table' nevű statisztikai segédtáblát:
create or replace trigger my_table_before
before insert or update or delete on my_table
for each row
begin
if inserting or
(updating and :new.statusz <> :old.statusz) then
update my_stat_table st set st.count = st.count+1
where st.statusz = :new.statusz;
if sql%notfound then
insert into my_stat_table values (:new.statusz, 1);
end if;
end if;
if deleting or
(updating and :new.statusz <> :old.statusz) then
update my_stat_table st set st.count = st.count-1
where st.statusz = :old.statusz;
end if;
end;
/
Megj: a program végén lévő perjel akkor kell, ha az eljárást az Sql*Plus használatával definiáljuk, ezzel jelezzük a PL/SQL blokk végét.
- Úgynevezett 'névtelen PL/SQL blokk' hívása Pro*C-ből. A PL/SQL blokk egy cursort nyit meg, amelyet egy 'SQL_CURSOR' típusú host-változóban tárolunk.
SQL_CURSOR crsr;
varchar ename [32];
int ideptno, empno, deptno;
EXEC SQL ALLOCATE :crsr;
ideptno= 30;
EXEC SQL EXECUTE
BEGIN
OPEN :crsr FOR
SELECT ename, empno, deptno
FROM emp
WHERE deptno = :ideptno;
END;
END-EXEC;
EXEC SQL FETCH :crsr INTO :ename, :empno, :deptno;
|
Főbb programozási nyelvek (továbbiak) |
|
Imperatív: Fortran • C • C++ • C# • Java • Pascal • Delphi • Ada Script: JavaScript • Visual Basic • PHP • Python • Perl • sh Funkcionális: Haskell • Lisp • Scheme Egyéb: ABAP • Awk • COBOL • PL/SQL • SAS • SQL • Eiffel • Logo • Scratch • SML • Smalltalk |
|
Történelmi: ALGOL • APL • BASIC • Clipper • MUMPS • PL/I • RPG • Simula |


