Using IDENTITY value : IDENTITY « Sequence « SQL Server / T-SQL

Home
SQL Server / T-SQL
1.Aggregate Functions
2.Analytical Functions
3.Constraints
4.Cursor
5.Data Set
6.Data Type
7.Database
8.Date Timezone
9.Index
10.Insert Delete Update
11.Math Functions
12.Select Query
13.Sequence
14.Store Procedure Function
15.String Functions
16.Subquery
17.System
18.Table
19.Table Joins
20.Transact SQL
21.Transaction
22.Trigger
23.View
24.XML
SQL Server / T-SQL » Sequence » IDENTITY 
Using IDENTITY value


20>
21> -- Using @@IDENTITY
22CREATE TABLE TestIdent(
23>    IDCol int IDENTITY PRIMARY KEY
24)
25> GO
Msg 2714, Level 16, State 6, Server JAVA2S\SQLEXPRESS, Line 22
There is already an object named 'TestIdent' in the database.
1CREATE TABLE TestChild1 (
2>    IDcol int PRIMARY KEY FOREIGN KEY REFERENCES TestIdent(IDCol)
3)
4> GO
1CREATE TABLE TestChild2 (
2>    IDcol int PRIMARY KEY FOREIGN KEY REFERENCES TestIdent(IDCol)
3)
4>
5> DECLARE @Ident int
6INSERT INTO TestIdent DEFAULT VALUES
7> SET @Ident = @@IDENTITY
8>
9> PRINT 'The value we got originally from @@IDENTITY was ' + CONVERT(varchar(2),@Ident)
10> PRINT 'The value currently in @@IDENTITY is ' + CONVERT(varchar(2),@@IDENTITY)
11>
12INSERT INTO TestChild1 VALUES (@@IDENTITY)
13>
14> PRINT 'The value we got originally from @@IDENTITY was ' + CONVERT(varchar(2),@Ident)
15>
16> IF (SELECT @@IDENTITYIS NULL
17>    PRINT 'The value currently in @@IDENTITY is NULL'
18> ELSE
19>    PRINT 'The value currently in @@IDENTITY is ' + CONVERT(varchar(2),@@IDENTITY)
20>
21> -- The next line is just a spacer for our print out
22> PRINT ''
23>
24INSERT INTO TestChild2
25> VALUES  (@@IDENTITY)
26> GO

(rows affected)

(rows affected)
The value we got originally from @@IDENTITY was 3

(rows affected)
The value currently in @@IDENTITY is 3

(rows affected)

(rows affected)
The value we got originally from @@IDENTITY was 3

(rows affected)
The value currently in @@IDENTITY is NULL

(rows affected)

Msg 515, Level 16, State 2, Server JAVA2S\SQLEXPRESS, Line 24
Cannot insert the value NULL into column 'IDcol', table 'master.dbo.TestChild2'; column does not allow nulls. INSERT fails.
The statement has been terminated.
1select from testchild1
2> go
IDcol
-----------
          3

(rows affected)
1>
2select from testchild2
3> GO
IDcol
-----------

(rows affected)
1>
2> drop table testchild1
3> drop table testchild2
4> GO
1>
           
       
Related examples in the same category
1.IDENTITY (1, 1)
2.Identity starting with -1000000
3.SQL Server chooses the highest number as its current seed for a positive increment value or the lowest for a negative increment value
4.SQL Server does not allow explicit values to be inserted into it
5.Now you explicitly enter a value for Identity column
6.Using Identity during data insert
7.Get current IDENTITY value
8.Seed value was negative and the increment was positive
9.Created with an IDENTITY property that is set to start at 1,000,000 and decrement by 100 for every row added
10.IDENTITY [ (seed , increment ) ]
11.IDENTITY as PRIMARY KEY
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.