sql 存储过程 in 的两种写法

最近又忘记存储过程 除了exec 动态写法的另外一种,这里记录一下,方便查找

写法1,动态语句

 

CREATE PROCEDURE sp_CountShiftWish 
    @strids varchar (1024)   /*strids   是id列表,   类似1,2,3*/ 
AS 
   exec (select * from student where id in(+@strids+))
 
go

 

写法2,索引查找

CREATE   PROCEDURE   sp_CountShiftWish 
   @strids   varchar   (1024)   /*strids   是id列表,   类似1,2,3*/ 
AS 
    select   *   from   student   where  charindex(,+ltrim(id)+,,,+@strids+,)>0 
go

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。