有没有人知道如何在DB2中运行以下sql Server代码?
我正在转换sql Server脚本,以便它们在DB2系统上运行,并且在DB2中使用变量时遇到一些问题.
这显然不是实际的代码,但作为一个例子很好.
DECLARE @INPUT_VALUE INT SET INPUT_VALUE = 4756 SELECT * FROM TABLE1 WHERE TABLE1.COLUMN1 = @INPUT_VALUE
解决方法
我想像这个
forum posting,我在下面全部引用,应该回答这个问题.
在程序,函数或触发器定义中,或在动态sql语句(嵌入在主机程序中):
BEGIN ATOMIC DECLARE example VARCHAR(15) ; SET example = 'welcome' ; SELECT * FROM tablename WHERE column1 = example ; END
或(在任何环境):
WITH t(example) AS (VALUES('welcome')) SELECT * FROM tablename,t WHERE column1 = example
或者(尽管这可能不是你想要的,因为变量只需要创建一次,但是可以在每个用户之后被使用,尽管其内容将在每个用户的基础上是私有的):
CREATE VARIABLE example VARCHAR(15) ; SET example = 'welcome' ; SELECT * FROM tablename WHERE column1 = example ;