首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

存储过程 in用法,该怎么解决

2012-03-12 
存储过程 in用法SQL codedrop PROCEDURE [Proc_test]GOcreate PROCEDURE [Proc_test]@name varchar(20)ASB

存储过程 in用法

SQL code
drop PROCEDURE [Proc_test]GOcreate PROCEDURE [Proc_test]@name varchar(20)ASBEGIN select * from tb1 where name in(@name)END GO


exec PROC_test '''Z001'',Z002'''


想这样执行,但是一直找不到结果,应该是参数的问题,就是不知如何写引号才能得到值

[解决办法]
SQL code
create PROCEDURE [Proc_test]@name varchar(20)ASBEGIN exec('select * from tb1 where name in('+@name+')')END GO
[解决办法]
select * from tb1 where charindex(','+name+',' , ','+@name+',') > 0

[解决办法]
SQL code
drop PROCEDURE [Proc_test]GOcreate PROCEDURE [Proc_test]@name varchar(20)ASBEGIN  exec('select * from tb1 where name in('+@name+')')END GO
[解决办法]
SQL code
drop PROCEDURE [Proc_test]GOcreate PROCEDURE [Proc_test]@name varchar(20)ASBEGINdeclare @sql nvarchar(1000)set @sql='select * from tb1 where name in('+@name+')'exec(@sql)END GOexec PROC_test '''Z001'',''Z002'''
[解决办法]
drop PROCEDURE [Proc_test]
GO
create PROCEDURE [Proc_test]
@name varchar(20)
AS
BEGIN 
select * from tb1 where charindex(','+name+',' , ','+@name+',') > 0
END 
GO

exec PROC_test 'Z001,Z002'


[解决办法]
给lz提个醒。。
在MSSQL中。单引号可以用作转移字符。。
比如:
print ''''

输出'
[解决办法]
动态sql,效率比较差吧
[解决办法]
动态SQL 不错的选择

热点排行