日期:2014-05-18  浏览次数:20563 次

OUTPUT 提示错误 在SQL SERVER 2005 中运行也不行
create table test11
(
  ScrapResonID smallint,
  Name1 varchar(50),  
  ModifiedDate datetime not null
 
)
--定义一个表格变量
declare @mytablevar table( ScrapReasonID smallint, Name1 varchar(50), ModifiedDate datetime)
insert into test11 
output inserted.ScrapReasonID,inserted.Name1,inserted.ModifiedDate into @mytablevar
values ('1','operator error',getdate())

--显示@mytablevar中的数据
select * from @mytablevar
--显示Production.ScrapReason表中的数据
select * from test11

运行后错误消息:
第 3 行: 'output' 附近有语法错误。


------解决方案--------------------
你的兼容级别是90吗?
按道理语句没问题
------解决方案--------------------
SQL code
DECLARE  @mytablevar TABLE ( ScrapReasonID smallint, Name1 varchar(50), ModifiedDate datetime)
insert into test11 
output inserted.ScrapResonID,inserted.Name1,inserted.ModifiedDate 
into @mytablevar
values ('1','operator error',getdate())

------解决方案--------------------
無效的資料行名稱 'ScrapReasonID'--這個列名不對吧
------解决方案--------------------
对着数据点右键->属性->有一个里面有兼容级别,忘了具体哪个里面了
2000是80,2005是90,2008是100
如果你是80,那么你的数据库只支持2000的语句,output就用不了了。。。
也可以用语句查询兼容级别和改兼容级别,记不得了,自己百度下吧
我估计是这个问题
------解决方案--------------------
也确实有这个问题诶,LZ自己核查下是什么问题
探讨
無效的資料行名稱 'ScrapReasonID'--這個列名不對吧