SQL Server 2005 Express 版本输出关键字语法
我正在使用 SQL Serer 2005 Express 中的 Output 关键字。我编写了以下查询:
Declare @tempTable as Table(masterLotDB datetime)
Insert into dbo.tblMasterLot (RecordCreation)
Values ('2009-10-02')
OUTPUT INSERTED.RecordCreation
into @tempTable
我收到语法错误 Msg 102, Level 15, State 1, Line 6 “OUTPUT”附近的语法不正确。我尝试过各种组合。
该查询在没有 OUTPUT 内容的情况下工作(即,它在 tblMasterLot 中放入一条新记录,除了定义为“非空”之外,tblMasterLot.RecordCreation 没有什么特别的。它不是主键或身份。
- 发生了什么事?任何机会“OUTPUT” SQL Express 2005 中并不真正支持?
- 有关于 OUTPUT 的教程吗?(特别是与 Insert 结合使用)。
I'm playing with the Output keyword in SQL Serer 2005 Express. I've written the following query:
Declare @tempTable as Table(masterLotDB datetime)
Insert into dbo.tblMasterLot (RecordCreation)
Values ('2009-10-02')
OUTPUT INSERTED.RecordCreation
into @tempTable
I get a syntax error of Msg 102, Level 15, State 1, Line 6
Incorrect syntax near 'OUTPUT'. I've tried various combinations.
The query works without the OUTPUT stuff (i.e. it puts a new record in tblMasterLot, There is nothing special about tblMasterLot.RecordCreation other than being defined 'not null'. It's not a primary key or identity.
- What's going on? Any chance 'OUTPUT' is not really supported in SQL Express 2005?
- Any tutorials on OUTPUT? (especially in conjuntion with Insert).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
OUTPUT 子句应位于 VALUES 之前
请参阅示例 A 此处
跟进:
我使用您的代码重现了您原来的“输出附近语法不正确”错误。但是,通过更改子句的顺序,它可以正常工作。这是我的代码:
输出:
(1 行受影响)
The OUTPUT clause should come before VALUES
See Example A here
Following up:
I reproduced your original 'incorrect syntax near OUTPUT' error using your code. However, by changing the order of the clauses, it works fine. Here's my code:
Output:
(1 row(s) affected)
输出已插入。不适用于 Express 版本。
尝试使用 @@IDENTITY
将脚本替换
为
Output Inserted. doesnot work with Express edition.
Try with @@IDENTITY instead
Replace the script
With