小编JAT*_*JAT的帖子

Exec存储过程进入动态临时表

据我所知; 我想做的事情在sql中是不可能的,但值得问你们.

假设我有一个存储过程abc,它返回列Id和Value.由于功能原因,此存储过程主要由其他部门使用,我将不时地使用它来进行数据检查.

所以使用它作为我的存储过程的一部分:

DECLARE @tABC TABLE
(
   ID      INT,
   Value   DECIMAL(12,2)
)

INSERT INTO @tABC
   EXEC OtherDb.DataProd.abc
Run Code Online (Sandbox Code Playgroud)

Oky因此现在可以完美地工作,但是如果他们改变了存储过程的结构呢?

在存储过程中添加或删除列会破坏我的代码,因此有一种方法可以使我的代码更加灵活.

我最后一次绝望的尝试是这样的:

WITH tempTable AS
(
    EXEC OtherDb.DataProd.abc
)
SELECT ID, Value FROM tempTable
Run Code Online (Sandbox Code Playgroud)

这显然是悲惨地失败了.

sql t-sql sql-server stored-procedures

14
推荐指数
2
解决办法
8万
查看次数

尝试捕获 - 资源强度?

我已经读过在SQL Server存储过程中使用Try Catch块可以节省大量的服务器资源.我的问题是它使用了多少资源?

我目前正在使用Try Catch块和事务,只要我的sproc正在进行大量的数据更改,这对于防止不正确的数据进入数据库以及记录错误非常有用,但我想使用这种方法在我所有的sprocs编程.

它有多大区别?

sql sql-server sql-server-2008

3
推荐指数
1
解决办法
136
查看次数