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é
J'appelle tout ca depuis SQL SERVER à travers un serveur lié, ca ca marche bien :Code:
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
Edit : Modification de l'appelle depuis SQL ServerCode:
1
2
3 INSERT INTO @table1 EXEC ( '{CALL sch.proc1 (''ABC'')}') AT linkedServer
