Sql server 从存储过程加载临时表时出错
我有12种这样的程序,其中11种工作完美无瑕。但是其中有一个错误向我显示了一个未找到的列:列的数量匹配,而在其他11个过程中,列名不匹配,但仍然可以正常运行Sql server 从存储过程加载临时表时出错,sql-server,tsql,Sql Server,Tsql,我有12种这样的程序,其中11种工作完美无瑕。但是其中有一个错误向我显示了一个未找到的列:列的数量匹配,而在其他11个过程中,列名不匹配,但仍然可以正常运行 SELECT * INTO #Temp_Table FROM dbo.Physical_Table WHERE 1 = 2 INSERT INTO #Temp_Table EXEC [DATABASE].DBO.[Stored_Procedure] 如果我这样指定列名 SELECT Physical_table.[Colu
SELECT *
INTO #Temp_Table
FROM dbo.Physical_Table
WHERE 1 = 2
INSERT INTO #Temp_Table
EXEC [DATABASE].DBO.[Stored_Procedure]
如果我这样指定列名
SELECT Physical_table.[Column_1] as [Column_1] <-- name of column returned in procedure
,Physical_table.[Column_2] as [Column_2] <-- name of column returned in procedure
,Physical_table.[Column_3] as [Column_3] <-- name of column returned in procedure
.
.
...
INTO #Temp_Table
FROM dbo.Physical_Table
WHERE 1 = 2
INSERT INTO #Temp_Table
EXEC [DATABASE].DBO.[Stored_Procedure]
它运行时没有问题,但这只是一个执行此操作的过程
任何帮助都将不胜感激。dbo.PhysicalTable的模式是什么,dbo.StoredProcedure的输出是什么?很明显,该表比过程结果集至少多了一列。请尝试在不使用insert、count列的情况下运行它。dbo.PhysicalTable和dbo.StoredProcedure的输出都是相同的列数和数据类型,dbo.PhysicalTable最初是根据dbo.StoredProcedure的输出建模的。列名的唯一区别是,没有人可以调试看不见的代码,也不能纠正没有提供有用信息的错误。事实上,你有类似的逻辑,但在这里根本不相关。如果没有一个代码示例和完整的错误消息,所有这些,不仅仅是文本,任何人都只能猜测。至少你可以提到有94列。