sql存储过程拆分字符串

--判断存储过程是否存在

if exists (select * from sys.objects where name='update_Test')
    drop proc update_Test
go
-- =============================================
--创建存储过程
-- =============================================
CREATE PROCEDURE update_Test
    @name nvarchar(50),
    @Fav nvarchar(100)
AS
BEGIN
    begin tran
    set @name=@name+','
    set @name = replace(replace(@name,char(32),''),char(13)+char(10),'')
    declare @ch varchar(20)
    while(@name<>'')
    begin
        set @ch = left(@name,charindex(',',@name,1)-1)
        insert into Test values(@ch,@Fav)
        set @name=stuff(@name,1,charindex(',',@name,1),'')
    end
    if  @@error<>0
        begin
            rollback tran
        end
        else
        begin
            commit tran
        end
END
GO

--测试存储过程
exec update_Test '张三,李四,王五','987654321'

posted on 2015-11-03 10:24  blog_zt  阅读(815)  评论(0)    收藏  举报

导航