加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

tsql – 在DB2 SQL中声明一个变量

发布时间:2020-12-12 16:11:21 所属栏目:MsSql教程 来源:网络整理
导读:有没有人知道如何在DB2中运行以下SQL Server代码? 我正在转换SQL Server脚本,以便它们在DB2系统上运行,并且在DB2中使用变量时遇到一些问题. T-SQL代码 这显然不是实际的代码,但作为一个例子很好. DECLARE @INPUT_VALUE INTSET INPUT_VALUE = 4756SELECT *FRO
有没有人知道如何在DB2中运行以下SQL Server代码?

我正在转换SQL Server脚本,以便它们在DB2系统上运行,并且在DB2中使用变量时遇到一些问题.

T-SQL代码

这显然不是实际的代码,但作为一个例子很好.

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 ;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读