Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.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 INSERT语句的select列表包含的项目少于INSERT列表(但相同)_Sql_Sql Server_Error Handling_Syntax Error - Fatal编程技术网

Sql INSERT语句的select列表包含的项目少于INSERT列表(但相同)

Sql INSERT语句的select列表包含的项目少于INSERT列表(但相同),sql,sql-server,error-handling,syntax-error,Sql,Sql Server,Error Handling,Syntax Error,我试图开发一个具有以下基本结构的程序: select a.* into #temp1 from OPENQUERY(otherDB,'SELECT ... FROM ...')a INSERT INTO [dbo].[Data] (....) select * from #temp1 DROP TABLE #temp1 OPENQUERY结果中的列数与INSERT列数相同 我怎么会发现这个错误: INSERT语句的select列表包含的项目少于INSERT列表。SELECT值的数

我试图开发一个具有以下基本结构的程序:

select a.*
into #temp1
from OPENQUERY(otherDB,'SELECT ... FROM ...')a
INSERT INTO [dbo].[Data]
       (....)
select *
from #temp1
DROP TABLE #temp1
OPENQUERY
结果中的列数与
INSERT
列数相同

我怎么会发现这个错误:

INSERT语句的select列表包含的项目少于INSERT列表。SELECT值的数量必须与INSERT列的数量匹配


如果您尝试使选择更加具体,该怎么办?例如:

insert into dbo.data (col1,col2) select col1,col2.....

这里需要一个简单的工作示例。如果您的SQL引擎告诉您,
SELECT
中的列比
INSERT
中的列少,那么我更可能认为这是正确的,您犯了一个错误,而不是引擎坏了。换句话说,我不相信它是相同的。
dbo.Data
是否有一列您忘记了的
IDENTITY
列?不要使用“*”,拼写列。将您尝试的代码张贴在列名拼写的地方(而不是
*
)问题就在你明确地从你的帖子中排除的代码段的中间。