这是我的脚本:
DeclARE @id VARCHAR(MAX)
SET @id = '1344,1345'
DeclARE @Sid TABLE (Sid VARCHAR(MAX))
INSERT INTO person
OUTPUT inserted.personid INTO @sid
SELECT value id,200,abc
FROM [dbo].[fn_Split](@id,',')
SELECT * FROM @sid
INSERT INTO relatedperson
SELECT value sid,15527,'2019-11-04 02:20:00.000'
FROM [dbo].[fn_Split](@Sid,')
我想传递2个生成的人员ID插入下一个与相关人员相关的表中,以生成2行,每行具有1个人员ID。
这里是[fn_Split]
ALTER FUNCTION [dbo].[fn_Split]
(@id VARCHAR(MAX),@delimiter VARCHAR(20) = ' ')
RETURNS @Strings TABLE
(
position INT IDENTITY PRIMARY KEY,value VARCHAR(8000)
)
AS
BEGIN
DeclARE @xml XML
SET @XML = CONVERT(XML,'<i>' + REPLACE(@id,@delimiter,'</i><i>') + '</i>')
INSERT INTO @Strings (value)
SELECT row.value('.','VARCHAR(100)') as parsedValue
FROM @xml.nodes('/i') AS Records(row)
RETURN
END