![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2 |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Futur Membre du Club
![]() Date d'inscription: juin 2004
Messages: 38
|
Cette fonction PL/SQL peut elle trouver un equivalent dans DB2 ?
Code :
FUNCTION Compte_rec ( PC$Table IN VARCHAR2, PC$ClauseWhere IN VARCHAR2 ) RETURN PLS_INTEGER IS LC$Requete VARCHAR2(512) ; LN$Total PLS_INTEGER ; BEGIN LC$Requete := ‘SELECT count(*) FROM ‘ || PC$Table || ‘ WHERE ‘ || PC$ClauseWhere ; EXECUTE IMMEDIATE LC$Requete INTO LN$Total ; RETURN LN$Total ; END ; Merci pour l'aide |
|
|
|
|
|
#3 (permalink) |
|
Futur Membre du Club
![]() Date d'inscription: juin 2004
Messages: 38
|
Merci bcoupn J'ai effectivement compris comment faire avec ta solution.
...seulement pour une raison que je n'arrive vraiment pas a comprendre la declaration d'un cursor me donne une erreur, que je passe par une variable pour ma requete, que je la mette directement ... (j'utilise Quest Central) Par ex, fonction simplissime ou je declare juste un cursor dont je me sers pas pour le moment vu que ca compile pas : Code :
CREATE FUNCTION TOTO()RETURNS VARCHAR(254) LANGUAGE SQL BEGIN ATOMIC DECLARE c1 CURSOR FOR SELECT count(*) FROM OX00UC1.OKDGLA_HUB; RETURN 'aaa'; END Code :
Statement processed with ERROR. [DB2/6000] SQL0104N An unexpected token "FOR" was found following "IC DECLARE c1 CURSOR". Expected tokens may include: "<SQL_variable_declarations>". LINE NUMBER=1. SQLSTATE=42601 *** Execution stopped due to error *** rien ne fonctionne si je mets pas ATOMIC apres mon BEGIN |
|
|
|
|
![]() |
![]() |
||
SQL dynamique: PL/SQL -> DB2
|
||
| Outils de la discussion | |
|
|