Procedure ExecuterBlocSql(NomBlocSql : Caractere, SourceBlocSql : Caractere, TDG : Entier=0);
Le nom de l'ordre Sql doit être unique. Il permet de tracer son exécution. Le source de l'ordre Sql doit respecter la syntaxe et la sémantique de la base de données cible, même pour le pilote Open DataBase Connectivity (ODBC).
Le source de l'ordre Sql peut être :
MaProcedure(10);
DECLARE SalaireMoyen : NUMBER;
BEGIN;
SELECT ename, empno FROM emp WHERE deptno=10;
INSERT INTO emp(ename, empno, hiredate) VALUES ('john', 8100, sysdate);
UPDATE emp SET sal=2100.00 WHERE empno=8100;
DELETE FROM emp WHERE deptno=10;
END;
Le source du bloc Pl/Sql ne peut comporter ni des paramètres d'entrée, de sortie ou d'entrée-sortie et ni des résultats pour les ordres de sélection.
Si le paramètre TDG spécifiant le temps de garde en secondes est positif, alors il existe un délai pour exécuter le bloc Pl/Sql.
Si la taille du source de l'ordre Pl/Sql dépasse la taille du paramètre TailleMaxOrdreSql, alors l'exception OrdreSqlTropGrand est envoyée.
Si la méthode échoue, alors l'exception ErreurOrdreSql est envoyée.
Principal
/*******/
Variable
/******/
MaConnexionSql : Nul Ou ConnexionOracle;
Debut
...
MaConnexionSql.ExecuterBlocSql("MaProcedure(10);");
MaConnexionSql.ExecuterBlocSql(
DECLARE SalaireMoyen : NUMBER; \
BEGIN; \
SELECT ename, empno FROM emp WHERE deptno=10; \
INSERT INTO emp(ename, empno, hiredate) VALUES ('john', 8100, sysdate); \
UPDATE emp SET sal=2100.00 WHERE empno=8100; \
DELETE FROM emp WHERE deptno=10; \
SalaireMoyen:=MaFonction(10);
END;");
...
Fin Principal
- | - | - | - | - | - | - | - | - |