从选择插入SQL Server
我正在尝试从select语句中插入行。但是我在语句的第一个从选择插入SQL Server,sql,sql-server,insert,Sql,Sql Server,Insert,我正在尝试从select语句中插入行。但是我在语句的第一个处得到一个语法错误。我做错了什么 INSERT INTO [dbo].[OrganizationControlGroup] VALUES ( OrganizationId, 9999, NULL, CONVERT(DATE,SYSDATETIME()), NULL, CONVERT(DATE,SYSDATETIME()) )
处得到一个语法错误。我做错了什么
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
)
)
你的语法错了。您可以将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
)
INSERT
的文档如下:您的语法错误。您可以将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
)
INSERT
的文档在这里:谢谢,这正是我需要的。@AntarrByrd,那你为什么不把它标记为答案?@GoRoS抱歉,我要分心了谢谢。@AntarrByrd,那你为什么不把它标记为答案?@GoRoS抱歉,我分心了