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
列?不要使用“*”,拼写列。将您尝试的代码张贴在列名拼写的地方(而不是*
)问题就在你明确地从你的帖子中排除的代码段的中间。