खोज…


SCOPE_IDENTITY ()

CREATE TABLE dbo.logging_table(log_id INT IDENTITY(1,1) PRIMARY KEY, 
                               log_message VARCHAR(255))

CREATE TABLE dbo.person(person_id INT IDENTITY(1,1) PRIMARY KEY, 
                        person_name VARCHAR(100) NOT NULL)
GO;

CREATE TRIGGER dbo.InsertToADifferentTable ON dbo.person  
AFTER INSERT  
AS
    INSERT INTO dbo.logging_table(log_message)
    VALUES('Someone added something to the person table')
GO;

INSERT INTO dbo.person(person_name)
VALUES('John Doe')  

SELECT SCOPE_IDENTITY();

यह वर्तमान कनेक्शन के भीतर एक ही कनेक्शन पर उत्पादित सबसे हाल ही में जोड़ा गया पहचान मूल्य लौटाएगा। इस स्थिति में, dbo.person तालिका में पहली पंक्ति के लिए 1।

@@पहचान

CREATE TABLE dbo.logging_table(log_id INT IDENTITY(1,1) PRIMARY KEY, 
                               log_message VARCHAR(255))

CREATE TABLE dbo.person(person_id INT IDENTITY(1,1) PRIMARY KEY, 
                        person_name VARCHAR(100) NOT NULL)
GO;

CREATE TRIGGER dbo.InsertToADifferentTable ON dbo.person  
AFTER INSERT  
AS
    INSERT INTO dbo.logging_table(log_message)
    VALUES('Someone added something to the person table')
GO;

INSERT INTO dbo.person(person_name)
VALUES('John Doe')    

SELECT @@IDENTITY;

यह गुंजाइश की परवाह किए बिना एक ही कनेक्शन पर सबसे हाल ही में जोड़ी गई पहचान लौटाएगा। इस स्थिति में, लॉगिंग_टेबल पर पहचान कॉलम का वर्तमान मूल्य जो है, मान लें कि कोई अन्य गतिविधि SQL सर्वर के उदाहरण पर नहीं हो रही है और कोई अन्य इस प्रविष्टि से आग नहीं चलाता है।

IDENT_CURRENT ( 'TableName')

SELECT IDENT_CURRENT('dbo.person');

यह कनेक्शन या गुंजाइश की परवाह किए बिना चयनित टेबल पर सबसे हाल ही में जोड़े गए पहचान मूल्य का चयन करेगा।

@@ पहचान और अधिकतम (आईडी)

SELECT MAX(Id) FROM Employees -- Display the value of Id in the last row in Employees table.
GO
INSERT INTO Employees (FName, LName, PhoneNumber) -- Insert a new row 
VALUES ('John', 'Smith', '25558696525') 
GO  
SELECT @@IDENTITY 
GO  
SELECT MAX(Id) FROM Employees -- Display the value of Id of the newly inserted row.  
GO

अंतिम दो चयनित कथन मान समान हैं।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow