Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 从存储过程加载临时表时出错_Sql Server_Tsql - Fatal编程技术网

Sql server 从存储过程加载临时表时出错

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

我有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.[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列。