Ant*_*yrd 0 sql sql-server insert
我正在尝试从我的select语句中插入行.但是我FROM在语句的第一个语法中遇到语法错误.我究竟做错了什么?
INSERT INTO [dbo].[OrganizationControlGroup]
VALUES
(
OrganizationId,
9999,
NULL,
CONVERT(DATE,SYSDATETIME()),
NULL,
CONVERT(DATE,SYSDATETIME())
)
FROM
(
SELECT TOP 450 o.OrganizationId
FROM Organization o
WHERE NOT EXISTS
(
SELECT *
FROM OrganizationControlGroup c
WHERE c.OrganizationId = o.OrganizationId
)
)
Run Code Online (Sandbox Code Playgroud)
你的语法错了.您可以使用INSERT或者与VALUES和一个(或较新的SQL Server版本以上)单条记录表达式列表用括号括起来,或者用SELECT.如果使用SELECT变体,请注意某些列表达式可以是常量或表达式CONVERT(DATE,SYSDATETIME()),而不依赖于源表.您的陈述的正确版本将是:
INSERT INTO [dbo].[OrganizationControlGroup]
SELECT TOP 450
o.OrganizationId,
9999,
NULL,
CONVERT(DATE,SYSDATETIME()),
NULL,
CONVERT(DATE,SYSDATETIME())
FROM Organization o
WHERE NOT EXISTS
(
SELECT *
FROM OrganizationControlGroup c
WHERE c.OrganizationId = o.OrganizationId
)
Run Code Online (Sandbox Code Playgroud)
该文档INSERT位于:http://msdn.microsoft.com/en-us/library/ms174335.aspx
| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |