0

我有几个存储过程,它们首先删除,然后填充一个名为##DataOutput. 这并不是存储过程所做的全部 - 只是在它们过程的某个时刻,它们必须用一些数据填充这个全局表,其他进程将使用这些数据。

的结构##DataOutput可以改变一点,它并不总是一样的。

即使表在开始时被删除,有时 SQL Server 在调用存储过程时会显示错误,因为它期望列 C(例如)将在当前存储过程中生成,但不是在最后存储过程(即当前全局临时表##DataOutput没有 C 列)。

有没有办法阻止 SQL Server 在执行之前检查这些表,因为该表在存储过程开始时被删除?

我知道使用EXEC会使它变得动态,但我想检查任何其他选项。

谢谢你。

4

1 回答 1

0

对这个问题没有直接的答案,但我认为您可以通过从一开始就声明包含所有可能字段的表来解决这个问题。这样,您将永远不会错过尚未添加到临时表的字段。

于 2018-05-12T04:52:33.107 回答