我正在使用连接到SQL Server数据库的VB.NET开发一个项目
在这个项目中,我需要在插入记录后获取名为“ID”的列的值 数据库立即。
感谢名单。
答案 0 :(得分:4)
答案 1 :(得分:4)
CREATE TABLE dbo.SomeTable (
ID int IDENTITY
,[NAME] varchar(50)
);
go
INSERT INTO dbo.SomeTable ([Name])
SELECT 'Joe' UNION
SELECT 'Jim' UNION
SELECT 'JIll'
;
SELECT ident_current('dbo.SomeTable') AS [LastID_1]
,@@IDENTITY AS [LastID_2]
,scope_identity() AS [LastID_3]
;
用途:
ident_current ('TableName')
表示特定的表格,不受范围和会话的限制@@IDENTITY
当前会话中的最后一个ID scope_identity()
当前会话中的最后一个ID,当前范围答案 2 :(得分:0)
INSERT
INTO [News]
(
LanguageID,
Title,
Short,
[Full],
Published,
AllowComments,
CreatedOn
)
VALUES
(
@LanguageID,
@Title,
@Short,
@Full,
@Published,
@AllowComments,
@CreatedOn
)
set @NewsID=@@identity
答案 3 :(得分:0)
SCOPE_IDENTITY,IDENT_CURRENT和@@ IDENTITY是类似的函数,因为它们返回插入到标识列中的值。
答案 4 :(得分:0)
EMPID ( AUTOINCREAMENT)
NAME VARCHAR(50)
INSERT INTO TABLE ( NAME) VALUES ('RAMKUMAR')
SELECT @@IDENTITY
使用@@identity
返回自动增量值
答案 5 :(得分:0)
您可以创建临时表变量并创建一个名为 StuId 的列。
--Student table creation
CREATE TABLE [dbo].[StuTable](
[StuId] [int] IDENTITY(1,1) NOT NULL,
[StuName] [nvarchar](50) NOT NULL,
[DOB] [date] NULL
)
DECLARE @TempTable TABLE(StuId INT)
INSERT INTO [dbo].[StuTable]([StuName]
,[DOB])
OUTPUT inserted.StuId INTO @TempTable
VALUES ('Peter', '1979-01-01')
SELECT StuId FROM @TempTable --Get the auto increment Id