104得票5回答
GUIDs的SCOPE_IDENTITY()用法?

当使用GUID作为SQL Server中的主键时,是否有类似于SCOPE_IDENTITY()的等效方法? 由于我们正在使用顺序GUID作为我们的主键,因此不想先创建GUID并保存为变量。 有什么最好的方法来检索最后插入的GUID主键吗?

103得票5回答
为什么选择SCOPE_IDENTITY()返回的是十进制而不是整数?

我有一个带有自增列作为主键的表格,因此它是一个整数。那么,为什么 SCOPE_IDENTITY() 总是返回一个十进制值而不是整数给我的 C# 应用程序?这真的很烦人,因为在 C# 中十进制值不能隐式地转换为整数,这意味着我现在必须重写很多东西并且使用很多辅助方法,因为我同时使用 SQL Se...

41得票6回答
插入Oracle并检索生成的序列ID

我有一些用于 SQL Server 的原始 SQL 查询,其中使用 SCOPE_IDENTITY 来在特定的 INSERT 执行后立即检索生成的 ID…INSERT into Batch( BatchName, BatchType, Source, Area ) Values ( @strBa...

30得票1回答
如果使用多个插入语句,是否有办法使用SCOPE_IDENTITY?

我将会通过一个Web应用程序从CSV文件中导入许多数据行到SQL Server数据库。我需要客户端返回自动生成的ID值。 如果我使用循环来实现,性能会非常糟糕(但我可以毫无问题地使用SCOPE_IDENTITY())。 更高效的解决方案是像这样:INSERT INTO [MyTable] VA...

12得票3回答
如何将Scope_Identity()转换为Int?

因此,在 SQL Server 中,Scope_Identity() 返回一个?-Byte 数字类型。 这并不太好。 在选择查询中,有没有一种安全的方式将其转换为 int,以便我们不必在 ODBC Wrapper 中处理 SQL Server 的每个心血来潮?

8得票4回答
有没有一种方法可以批量插入数据到两个有外键关系的表中?其中一个表的外键指向另一个表。

我将提供一个伪代码示例,展示我当前的方法。如果有人知道一种不需要逐行操作的方法,我会非常感激。我正在使用MS SQL Server 2008。 define cursor for the data to be inserted (about 3 million records) loop (...

7得票1回答
如何使用INSTEAD OF触发器获取插入表中新记录的身份标识

我正在使用一个INSTEAD OF插入触发器在表上设置递增版本号,并将行复制到第二个历史/审核表中。 这些行能够成功地插入到两个表中。 然而,我遇到了一些问题,无法将第一个表格中的新标识返回给用户。 模式 CREATE TABLE Table1 ( id INT IDENTITY(1...

7得票7回答
使用SQL Server在C#中插入数据后返回id

我知道这个问题在这个网站上已经被问过很多次,但是我无法让我的代码工作。 我有一个Insert语句,我需要该语句的id在我的asp.net页面上。 我得到了返回值0。 public int newid { get; set; } public void CreateAlbum(strin...