tjc*_*mon 6 sql-server stored-procedures common-table-expression
我能否将存储的proc调用到CTE中。我登录到仅RO的报告数据库。我对我们的UAT具有写权限,但想查询实时数据。
那么我可以在CTE中使用存储的proc吗?
with clientOwes as (
exec des_Batch_GetApplicationClientOwesList
)
select a.des_applicationnumber
from des_heapplicationset a
where a.des_heapplicationid in (select applicationid from clientowes)
Run Code Online (Sandbox Code Playgroud)
结果是:消息156,级别15,状态1,第3行关键字'exec'附近的语法错误。
答案改编自评论中的对话:
您可以使用存储过程来填充表变量,“只读”访问权限确实允许您创建该表变量。您也不需要使用OpenRowSet来填充它。做就是了:
INSERT INTO @MyTableVariable
EXEC MyStoredProcedure
Run Code Online (Sandbox Code Playgroud)
我在很多地方都需要将存储的Proc结果视为一个表,可以与其他表进行JOIN或UNION的操作。
归档时间: |
|
查看次数: |
4562 次 |
最近记录: |