Bonjour,

J'écris actuellement une petite procédure sur DB2 sur AS400 V5R4.
J'aimerais savoir s'il est possible de faire un "select" de variable
Voici ce que j'ai actuellement mais je ne suis pas trop fan du FROM sch.table1 fetch first 1 rows only car je suis dépendant de la table.
Donc je voulais savoir s'il est possible d'échapper à cette contrainte s'il y avait des bonnes pratiques la dessus ...

Voila le détail que j'ai un peu retouché
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
CREATE PROCEDURE sch.proc1 (IN param1 CHAR(20))
	LANGUAGE SQL
	RESULT SETS 1
P1 : BEGIN
	DECLARE	VAR1 CHAR(2);
	DECLARE	VAR2	CHAR(10);
	DECLARE	VAR3	CHAR(2);
 
	SET	VAR1 =	'AB';
	SET	VAR2 =	'A45     ';
	SET	VAR3 =	'  ';
 
	CALL sch.proc2 ( param1 , VAR1 , VAR2 , VAR3 );
        -- mes variables sont en OUT dans proc2 
        -- (pour info je n'ai pas la main dessus)
 
	P2:BEGIN
		DECLARE cur1 CURSOR FOR SELECT  param1 , VAR1 , VAR2 , VAR3 FROM  sch.table1 fetch first 1 rows only;
		OPEN cur1;
	END P2;
END P1
J'appelle tout ca depuis SQL SERVER à travers un serveur lié, ca ca marche bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
INSERT INTO @table1
EXEC ( '{CALL sch.proc1 (''ABC'')}') AT linkedServer
Edit : Modification de l'appelle depuis SQL Server