0

我们如何在存储过程中实现执行流程并获得表输出?这是否可以调用DEMO_PROC并获取SELECT DISTINCT * FROM #TEMP_TABLEproc 中提到的 ( ) 的输出?或者有没有其他方法可以实现这一目标?

示例代码:

CREATE PROC DEMO_PROC AS
BEGIN
if object_id('Tempdb..#TMP') is not null
drop table #TMP 

select 
O.ID, O.NAME, O.E_ID, P.PKG_ID
into #TEMP_TABLE
from Order_Table AS O
join  
Package_Table AS P on P.ID = O.ID

WHERE P.PKG_NAME IN (1,2)

ALTER TABLE #TEMP_TABLE ADD COL_V1 nvarchar(100);
UPDATE #TEMP_TABLE set COL_V1 = (SELECT assw FROM Order_Table AS O join ELEC_TABLE AS E ON O.E_ID = E.E_ID
                                where E.E_ID = #TEMP_TABLE.E_ID
                                and (E.E_DESC LIKE '%U R SUPER, Thanks! in advance%'))

SELECT DISTINCT * FROM #TEMP_TABLE
END
4

1 回答 1

0

表名可以传递给存储过程并在 SP 内创建。然后就可以在调用sql中查询了。可以从 SP 返回一个表名,并在调用 sql 中查询。

于 2020-07-22T13:28:58.990 回答