set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo-------创建综合评估表[pr_create_quality_board 循环遍历-游标]--create ALTER
create PROCEDURE [dbo].[pr_create_Evaluation22] @objectID nvarchar(1000) --/%生成的评估对象%/as--声明变量 declare @pos int declare @oldPos int declare @tempstr varchar(100)
create table #temp_id ( id int)
set @pos=1set @oldPos=1while @pos<len(@objectID)begin set @pos=charindex(',',@objectID,@oldpos) if @pos>0 begin set @tempstr=substring(@objectID,@oldpos,@pos-@oldpos) set @oldpos=@pos+1 end else begin set @tempstr=substring(@objectID,@oldpos,len(@objectID)-@oldpos+1) set @pos=len(@objectID) end insert into #temp_id select @tempstrend
select * from #temp_idgodeclare @date datetimeset @date=getdate()exec pr_create_Evaluation22 '1,2,3,4'
--print Convert(char(10),GetDate(),120) //这个是获取(年月日)的
这个例子用于 select * from fp_user where userid in (1,2,3,4)1,2,3,4在存储过程作为传进的参数,用IN 语句,会当做整个字符串 无法解析,单个值,利用分割字符串,创建临时表的功能查询 select * from fp_user where userid in (select id from #temp_id)
转载于:https://www.cnblogs.com/yingpp/archive/2009/09/28/1575410.html