【问题标题】:Insert SQL for multiple record为多条记录插入 SQL
【发布时间】:2013-07-26 19:47:44
【问题描述】:

我在MSSQL Server 2005 中运行以下查询时收到错误消息。

错误消息是Incorrect syntax near ','。我觉得查询没问题。但我不知道为什么会出错。

INSERT INTO PERSON (ID, EMP_NAME) VALUES ('E001', 'AAA'), ('E002', 'BBB');

SQL Server 不支持?

【问题讨论】:

  • 你的ID可以读取字符串吗?
  • 是的,确定两列都是varchar
  • 我认为 MSSQL Server 2008 及以上版本支持多个类似的插入
  • SQL Server 2008 引入了使用该语法插入多个值。您必须在 2005 年使用 UNION ALLstackoverflow.com/questions/3272487/…

标签: sql sql-server sql-server-2005


【解决方案1】:

如果您的数据库低于SQL Server 2008

INSERT INTO PERSON (ID, EMP_NAME) VALUES ('E001', 'AAA');
INSERT INTO PERSON (ID, EMP_NAME) VALUES ('E002', 'BBB');

【讨论】:

  • 天哪,真的吗?我认为每个数据库服务器都支持这样的简单 sql 查询。 Tz 为您提供。
  • @Parado,感谢消息If your DB is lower than SQL Server 2008
  • 为什么要删除this@Parado,没错。如果你取消删除我会投票。
  • @Ben 未删除,但我正在寻找 char 的最后和第一个位置
  • @Ben 现在我发现它不需要了。
【解决方案2】:

尝试使用UNION ALL -

INSERT INTO Person (id, EMP_NAME)
SELECT id = 'E001', EMP_NAME = 'AAA'
UNION ALL 
SELECT 'E002', 'BBB'

【讨论】:

  • 是的,我也这样用。或者,我只是更改语法。
【解决方案3】:

试试这个:

INSERT INTO Person (id, EMP_NAME)
SELECT 'E001', 'AAA'
UNION ALL 
SELECT 'E002', 'BBB'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 2012-09-04
    • 2015-10-04
    • 2017-04-06
    相关资源
    最近更新 更多