遇到一個問題
想要將SP select 出的多筆資料結果,丟進另一個SP參數中,進行執行
SP_1 select 結果的多筆資料,如下圖
想要將這個結果放進另一個SP的參數中
下圖我呼叫SP_1的結果
將呼叫結果丟進另一個SP_2參數中
在另一個SP_2進行select 查看丟進去的結果
下圖為執行SP_2結果
發現stage_cd丟的結果並未丟進參數中 想請教是否有方式解決無法丟進數值的問題
或許這是你要的?
下此請善用程式碼區塊,不要用截圖,這樣別人才有辦法複製你的程式碼。
create or alter procedure SP_1 as begin
select * from (
values
('A'),('B'),('C'),('D')
) T(A)
end
go
create procedure SP_2 @vv varchar(10) as begin
print(@vv)
end
go
exec SP_1
create table #temp(A varchar(2))
insert into #temp
exec SP_1
select * from #temp
while exists (select 1 from #temp)
begin
declare @tt varchar(2)
select top 1 @tt = a from #temp
exec SP_2 @tt
delete from #temp where A = @tt
end
T-SQL筆記7_單(雙)井字號_暫存Table與@資料表變數的使用
https://coolmandiary.blogspot.com/2020/09/t-sql7table.html
T-SQL筆記40_OPENROWSET與sp_helptext的使用_如何去查看一支預存程序,Trigger,Function的指令並只保留關鍵字該行命令rowset
https://coolmandiary.blogspot.com/2023/03/t-sql40openrowsetsphelptexttriggerfunct.html
你的 SQL SERVER 是第幾版的,如果是 SQL 2016 以上的話可以用 JSON 互傳,非常好用又簡單。
問一下 GPT 他可以幫你解釋或是將 SP1 的內容丟給 GPT 請他產生 JSON 再丟給 SP2 來做處理,我用此方法寫了好多專案來做處理