回答

收藏

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

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

如何在常规SQL结合存储过程和结果或参数进行查询?2 u' ^. ?, C4 j7 q; s  J2 A1 @
例如,我想执行以下操作:7 e# I) o+ ?7 J) C/ 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等等。8 r: z* _& ]$ N0 D  [$ ^9 p
                                                                # w( B0 f' F5 _& Z% v
    解决方案:                                                                - }0 g1 D6 w! t0 J
                                                                不,你需要使用临时表
: r0 ?* y& ^5 o! M' ^8 fcreate table #results (col1 int,col2 varchar(5) ...)INSERT INTO #results   EXEC YourProcedure @parma...然后你就可以加入了* }+ ?7 C( a" _  _0 t( v
SELECT    *    FROM YourTable     y        JOIN #results  r ON ...    ....如果您不知道该过程的列和数据类型,请使用以下优秀的答案:将存储过程的结果插入临时表
+ ]7 V/ H$ `6 X* g) I% u总之,它是用来的OPENROWSET将存储过程执行到动态创建#temp在表中,不需要命名和理解所有列的类型。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则