Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从选择插入SQL Server_Sql_Sql Server_Insert - Fatal编程技术网

从选择插入SQL Server

从选择插入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()) )

我正在尝试从select语句中插入行。但是我在语句的第一个
处得到一个语法错误。我做错了什么

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抱歉,我分心了