我有一个SQL Server 2016数据库,其中包含一个存储XML文件的表。如果可能,我想要做的是调用另一个存储过程并传入ApplicationID
值。
我的代码是
select
RecID,
nref.value('APPLICATION_ID[1]','varchar(max)') ApplicationID ,
nref.value('FY[1]','varchar(max)') FY
into
ADMIN_stagingTable
from
[ADMIN_Grant_Exporter_Files_XML]
cross apply
XMLData.nodes('PROJECTS[1]/row[1]') as R(nref)
where
nref.value('ORG_DUNS[1]', 'varchar(max)') = '183710748'
我目前正在将它存储到临时表中。有没有比循环结果集更好的方法?
SELECT @APPLICATION_ID = ApplicationID
FROM ADMIN_stagingTable
EXECUTE [Parse_Exporter] @APPLICATION_ID
答案 0 :(得分:1)
尝试使用功能。 你可以将SP的脚本放在一个函数中然后你可以调用它 将函数命名为fn_Parse_Exporter
并像这样使用
SELECT *, dbo.fn_Parse_Exporter(ApplicationID)
FROM My_Table