我在存储过程里面定义一个变量,然后根据传进来的参数判
declare @a ;
if(isnull(@abc,0)>0)
set @a= ' and name="+@abc+"'
select * from p
where id=1 @abc
..
..像这样 在查询语句里面加这个 怎么做?
这个查询语句是很长的 有上千行
改成执行字符串的 exec('select ..'+@a+'...') 这种应该不好把
既然是存储过程了,变量通过参数传入,你内部字符串+拼接,然后exec来执行。基本就是这样
sqlserver ,动态sql执行
http://blog.csdn.net/limlimlim/article/details/9818637
使用存储过程,可以dinginess参数。
不要拼接sql
使用存储过程,可以定义参数。
不要拼接sql
可以把整个sql语句先声明一个变量,然后动态拼接语句,最后执行。执行之前可以用print打印看一下,语句对不对。
存储过程 exec(参数1,参数2)