Quelqu'un sait-il comment exécuter le code SQL Server suivant dans DB2?
Je convertis des scripts SQL Server pour qu'ils s'exécutent sur un système DB2 et j'ai des problèmes pour me concentrer sur l'utilisation des variables dans DB2.
code T-SQL
Ce n'est évidemment pas le code réel mais fonctionne bien comme exemple.
DECLARE @INPUT_VALUE INT
SET INPUT_VALUE = 4756
SELECT *
FROM TABLE1
WHERE TABLE1.COLUMN1 = @INPUT_VALUE
J'imagine que publication sur le forum , que je cite en détail ci-dessous, devrait répondre à la question.
Dans une procédure, une fonction ou une définition de déclencheur, ou dans une instruction SQL dynamique (incorporée dans un programme hôte):
BEGIN ATOMIC
DECLARE example VARCHAR(15) ;
SET example = 'welcome' ;
SELECT *
FROM tablename
WHERE column1 = example ;
END
ou (dans n'importe quel environnement):
WITH t(example) AS (VALUES('welcome'))
SELECT *
FROM tablename, t
WHERE column1 = example
ou (bien que ce ne soit probablement pas ce que vous voulez, car la variable doit être créée une seule fois, mais peut être utilisée par la suite par tout le monde, bien que son contenu soit privé par utilisateur):
CREATE VARIABLE example VARCHAR(15) ;
SET example = 'welcome' ;
SELECT *
FROM tablename
WHERE column1 = example ;
Je viens également de SQL Server et j'ai passé les 2 dernières semaines à découvrir comment exécuter des scripts comme celui-ci dans IBM Data Studio. J'espère que cela aide.
CREATE VARIABLE v_lookupid INTEGER DEFAULT (4815162342); --where 4815162342 is your variable data
SELECT * FROM DB1.PERSON WHERE PERSON_ID = v_lookupid;
SELECT * FROM DB1.PERSON_DATA WHERE PERSON_ID = v_lookupid;
SELECT * FROM DB1.PERSON_HIST WHERE PERSON_ID = v_lookupid;
DROP VARIABLE v_lookupid;