sql 中定义变量

tlc2003 2003-11-12 01:19:40
slelect A,B,C,(select D from TABLE AAAAA) from ....

我想在AAAAA处定义一个变量来代替一个 where语句,然后在后面的程序中得到where的具体限定条件后再赋值给变量,该怎么写?多谢!
...全文
442 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
IceRiver_11 2003-11-12
  • 打赏
  • 举报
回复
一般用执行字符串的方式即可,既先根据各个变量组合成一个具体的执行字符串,然后执行这个字符串就可以了!一般用EXEC就可以,建议用sp_executesql,具体可一看帮助文件!
zjcxc 元老 2003-11-12
  • 打赏
  • 举报
回复
变量不能直接用于from 语句,改用exec动态执行就可以了.

declare @tb sysname
set @tb='AAAAA'

exec('slelect A,B,C,(select D from '+@tb+') from ....')
txlicenhe 2003-11-12
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2364/2364046.xml?temp=.829693
[交流]动态SQL语句
teaism 2003-11-12
  • 打赏
  • 举报
回复
declare @aaaa=' where id=1'
exec('slelect A,B,C,(select D from TABLE '+@AAAAA+') from ....')
愉快的登山者 2003-11-12
  • 打赏
  • 举报
回复
declare @AAAAA varchar(1000)
declare @s varchar(8000)
set @s = 'select A,B,C,(select D from TABLE '+@AAAAA+') from ....'
set @@AAAAA = 'where 1=1'
exec (@s)

34,499

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧