(
@String NVARCHAR(1000), -- 要分隔的字符串
@SPLITCHAR NVARCHAR(10) = @#,@#, -- 分隔字符
@TableName NVARCHAR(50), -- 存入的表名称
@FieldName NVARCHAR(50) = @#[ID]@# -- 存入的字段名称
)
AS -- 将字符串分隔开放进表中 DECLARE @L INT -- 第一个分隔字符的位置
DECLARE @S INT -- 第二个分隔字符的位置
SET @L = 0
SET @S = CHARINDEX(@SPLITCHAR, @String, @L) WHILE @L <= LEN(@String)
BEGIN
DECLARE @ID NVARCHAR(50) IF @S = 0 SET @S = LEN(@String) + 1 -- 如果到最后一个字符串那么第二个分隔字符的位置就是这个字符串的长度加一
SET @ID = SUBSTRING(@String, @L, @S - @L) -- 取值
SET @L = @S + 1
SET @S = CHARINDEX(@SPLITCHAR, @String, @L) IF LTRIM(RTRIM(@ID)) = @#@# CONTINUE -- 如果是空字符串就跳过 DECLARE @SQL NVARCHAR(1000)
SET @SQL = @#INSERT INTO @# + @TableName + @# (@#+ @FieldName +@#) VALUES(@#@#@# + @ID + @#@#@#)@#
EXEC sp_executesql @SQL
END
GO ----------NotMSN Messenger : [email protected]
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/










