【问题标题】:How can you get @@IDENTITY or SCOPE_IDENTITY() to work in SQL Server Compact Edition? [duplicate]如何让@@IDENTITY 或 SCOPE_IDENTITY() 在 SQL Server Compact Edition 中工作? [复制]
【发布时间】:2013-04-10 04:09:46
【问题描述】:

在我的 SQL Server Compact Edition 数据库中,这是可行的:

INSERT INTO Clients (Title, FirstName, MiddleName, LastName, Suffix, IsMale)
VALUES (NULL, NULL, NULL, NULL, NULL, NULL)

但这不起作用:

INSERT INTO Clients (Title, FirstName, MiddleName, LastName, Suffix, IsMale)
VALUES (NULL, NULL, NULL, NULL, NULL, NULL); SELECT @@IDENTITY

这里的方言阻碍是什么?如果这有什么不同的话,我将把它作为一个字符串/命令从 VB.Net 传递给 SQL Server CE。

最初我尝试使用 SCOPE_IDENTITY() 执行此操作,并且强烈希望这样做,但显然不支持?如果 SCOPE_IDENTITY() 问题有解决方法,我希望得到涉及该解决方法的答案;如果不是,那么我会很好地回答涉及 @@IDENTITY 的问题。

谢谢!

【问题讨论】:

  • 显而易见的。是否所有列都允许为 null 并且是否插入了一行?
  • 从一个快速的谷歌搜索也返回了你的交叉发布的问题 (grr) 似乎精简版不允许批量查询,所以你必须在另一个查询中选择 @@IDENTITY 。您可能希望使用事务,以便在大量用户同时访问数据库的情况下不会得到错误的值。
  • SQL Server Compact 不是多用户数据库
  • 交叉发布的问题?
  • @Blam 如前所述,插入语句独立工作。

标签: sql sql-server vb.net tsql sql-server-ce


【解决方案1】:

呃...如果你用谷歌搜索这些命令中的任何一个,它们只会给出完整的 SQL 作为受支持的版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2010-09-26
    • 1970-01-01
    相关资源
    最近更新 更多