u011384907
不名小字
采纳率50%
2015-07-28 04:24 阅读 2.9k

sql语句怎么调用变量?

10

我在存储过程里面定义一个变量,然后根据传进来的参数判
declare @a ;

if(isnull(@abc,0)>0)
set @a= ' and name="+@abc+"'

select * from p
where id=1 @abc
..
..像这样 在查询语句里面加这个 怎么做?
这个查询语句是很长的 有上千行
改成执行字符串的 exec('select ..'+@a+'...') 这种应该不好把

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • 已采纳
    oyljerry oyljerry 2015-08-03 04:16

    既然是存储过程了,变量通过参数传入,你内部字符串+拼接,然后exec来执行。基本就是这样

    点赞 评论 复制链接分享
  • danielinbiti danielinbiti 2015-07-28 04:32
    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-07-28 04:33

    使用存储过程,可以dinginess参数。
    不要拼接sql

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-07-28 04:33

    使用存储过程,可以定义参数。
    不要拼接sql

    点赞 评论 复制链接分享
  • jsntnjzb jsntnjzb 2015-07-28 07:48

    可以把整个sql语句先声明一个变量,然后动态拼接语句,最后执行。执行之前可以用print打印看一下,语句对不对。

    点赞 评论 复制链接分享
  • sina_2831808769 sina_2831808769 2015-07-28 12:40

    存储过程 exec(参数1,参数2)

    点赞 评论 复制链接分享

相关推荐