请教怎么给存储过程内的一个函数变量赋予多个固定值
请问如何给存储过程内的一个函数变量赋予多个固定值
请问如何给存储过程内的一个函数变量赋予多个固定值
T1内有:
A B C
a1 b1 c1
a2 b2 c2
a3 b3 c3
a4 b4 c4
a5 b5 c5
a6 b6 c6
....
我现在想给@a赋值,也在T1里面取,但是只取c2,c5,c6...这样,请问可以实现吗?求教怎么写。谢谢
------解决方案--------------------
set @a='c1,c2,c3'
declare @b varchar(8000)
set @b='select * from t1 where c in ('''+replace(@a,',',''',''')+''')'
exec(@b)
这执行不了就把错误信息贴出来
------解决方案--------------------
请问如何给存储过程内的一个函数变量赋予多个固定值
T1内有:
A B C
a1 b1 c1
a2 b2 c2
a3 b3 c3
a4 b4 c4
a5 b5 c5
a6 b6 c6
....
- SQL code
create proc EXM @a char(10) as select * from T1 where c in (@a)
我现在想给@a赋值,也在T1里面取,但是只取c2,c5,c6...这样,请问可以实现吗?求教怎么写。谢谢
------解决方案--------------------
set @a='c1,c2,c3'
declare @b varchar(8000)
set @b='select * from t1 where c in ('''+replace(@a,',',''',''')+''')'
exec(@b)
这执行不了就把错误信息贴出来
------解决方案--------------------
- SQL code
declare @b varchar(8000) declare @a varchar(100) set @a='c1,c2,c3' set @b='select * from t1 where c in ('''+replace(@a,',',''',''')+''')' exec (@b)