Hi @Erland Sommarskog ,
I tried below and got errors:
CREATE TYPE dbo.Test_ClmsPaid AS TABLE
(
[MedNo] [varchar](50) NULL,
[ClmAmt] [numeric](11, 2) NULL,
[fy_end] [date] NULL,
[fy_start] [date] NULL
)
GO
DECLARE @ClmsPaid dbo.Test_ClmsPaid
INSERT INTO @ClmsPaid
SELECT 12, 234.00, '2020-06-30', '2019-07-01' UNION
SELECT 12, 234.00, '2019-09-30', '2018-10-01'
-- SELECT * FROM @ClmsPaid
DECLARE @xmltext nvarchar(MAX),
@xml xml,
@sql nvarchar(MAX)
SET @xml = (SELECT * FROM @ClmsPaid FOR XML RAW)
SET @xmltext = cast(@xml as nvarchar(MAX))
SELECT @sql = '
DECLARE @ClmsPaid dbo.Test_ClmsPaid,
@xml xml = cast(@xmltext AS xml)
INSERT @ClmsPaid ( [MedNo], [ClmAmt], [fy_end], [fy_start] )
SELECT [MedNo], [ClmAmt], [fy_end], [fy_start]
FROM @xml.nodes(''/root/data'') AS T(c)
SELECT * FROM @ClmsPaid
'
EXEC LinkedServer2.DatahubDB.sys.sp_executesql @sql, N'@xmltext nvarchar(MAX)', @xmltext
Got below error:
Msg 207, Level 16, State 1, Line 14
Invalid column name 'MedNo'.
Msg 207, Level 16, State 1, Line 14
Invalid column name 'ClmAmt'.
Msg 207, Level 16, State 1, Line 14
Invalid column name 'fy_end'.
Msg 207, Level 16, State 1, Line 14
Invalid column name 'fy_start'.