IDENTITY插入行的最佳方法是什么?
我知道@@IDENTITY和IDENT_CURRENT和SCOPE_IDENTITY,但不明白连接到每个利弊.
有人可以解释一下这些差异,以及何时应该使用它们?
我使用链接服务器在远程Sql Server中插入记录,现在我想获取插入记录的ID.类似于scope_identity()本地服务器的东西.我的远程sql server是2000版.
我看过这篇文章,但我无法在远程sql server中添加任何存储过程
我已将Azure云数据库设置为我们的"SQL server 2008 R2"服务器的链接服务器,如此帖所述:http://blogs.msdn.com/b/sqlcat/archive/2011/03/08 /linked-servers-to-sql-azure.aspx 我启用了RPC和RPC Out,因为我在某处读过.
现在问题是我无法获取刚刚插入的记录的ID.请看一下这个测试表:
CREATE TABLE dbo.TEST
(
ID INT IDENTITY(1, 1) NOT NULL
CONSTRAINT PK_TEST_ID PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
Run Code Online (Sandbox Code Playgroud)
我也创建了这个存储过程:
CREATE PROCEDURE test_create @ID INT OUTPUT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
INSERT INTO TEST
DEFAULT VALUES
SELECT …Run Code Online (Sandbox Code Playgroud)