回答

收藏

在T-SQL结合存储过程和查询

技术问答 技术问答 340 人阅读 | 0 人回复 | 2023-09-14

如何在常规SQL结合存储过程和结果或参数进行查询?9 ]* b$ r- U; [. d
例如,我想执行以下操作:/ c$ N8 |9 _. v6 W; I$ Y5 A
-- passing result of SELECT to SPSELECT a,b FROM tEXEC my_sp a,b-- passing result of SP to INSERT    INSERT INTO tEXEC my_sp a,b等等。
% o' [; y7 U! Q/ L2 i" X( x( H                                                               
+ s3 v, m5 U& ]$ B8 t8 k    解决方案:                                                                , [* l% t; }  l/ p
                                                                不,你需要使用临时表
& r% ~; M) T3 F! |2 o0 S+ Pcreate table #results (col1 int,col2 varchar(5) ...)INSERT INTO #results   EXEC YourProcedure @parma...然后你就可以加入了. p$ |$ P" r0 b1 ^! l/ Q, v0 H
SELECT    *    FROM YourTable     y        JOIN #results  r ON ...    ....如果您不知道该过程的列和数据类型,请使用以下优秀的答案:将存储过程的结果插入临时表2 Q8 ]# ^. y$ C3 m9 t$ _% A
总之,它是用来的OPENROWSET将存储过程执行到动态创建#temp在表中,不需要命名和理解所有列的类型。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则