<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=SQL_Server%2FT-SQL_Tutorial%2FSequence_Indentity%2FIdentity</id>
		<title>SQL Server/T-SQL Tutorial/Sequence Indentity/Identity - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=SQL_Server%2FT-SQL_Tutorial%2FSequence_Indentity%2FIdentity"/>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=SQL_Server/T-SQL_Tutorial/Sequence_Indentity/Identity&amp;action=history"/>
		<updated>2026-05-24T03:19:11Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.sqle.ru/index.php?title=SQL_Server/T-SQL_Tutorial/Sequence_Indentity/Identity&amp;diff=6999&amp;oldid=prev</id>
		<title> в 13:46, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=SQL_Server/T-SQL_Tutorial/Sequence_Indentity/Identity&amp;diff=6999&amp;oldid=prev"/>
				<updated>2010-05-26T13:46:16Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:46, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.sqle.ru/index.php?title=SQL_Server/T-SQL_Tutorial/Sequence_Indentity/Identity&amp;diff=7000&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=SQL_Server/T-SQL_Tutorial/Sequence_Indentity/Identity&amp;diff=7000&amp;oldid=prev"/>
				<updated>2010-05-26T10:24:57Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Altering the Table to Add an Identity Column==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
7&amp;gt; CREATE TABLE Dupes(&lt;br /&gt;
8&amp;gt;   ID  int       NOT NULL,&lt;br /&gt;
9&amp;gt;   Txt char (10) NOT NULL&lt;br /&gt;
10&amp;gt; )&lt;br /&gt;
11&amp;gt; GO&lt;br /&gt;
1&amp;gt; INSERT Dupes (ID, Txt) VALUES (1, &amp;quot;x&amp;quot;)&lt;br /&gt;
2&amp;gt; INSERT Dupes (ID, Txt) VALUES (1, &amp;quot;a&amp;quot;)&lt;br /&gt;
3&amp;gt; INSERT Dupes (ID, Txt) VALUES (1, &amp;quot;x&amp;quot;)&lt;br /&gt;
4&amp;gt; INSERT Dupes (ID, Txt) VALUES (1, &amp;quot;x&amp;quot;)&lt;br /&gt;
5&amp;gt; INSERT Dupes (ID, Txt) VALUES (2, &amp;quot;b&amp;quot;)&lt;br /&gt;
6&amp;gt; INSERT Dupes (ID, Txt) VALUES (2, &amp;quot;x&amp;quot;)&lt;br /&gt;
7&amp;gt; INSERT Dupes (ID, Txt) VALUES (2, &amp;quot;b&amp;quot;)&lt;br /&gt;
8&amp;gt; INSERT Dupes (ID, Txt) VALUES (3, &amp;quot;c&amp;quot;)&lt;br /&gt;
9&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
3&amp;gt; ALTER TABLE Dupes&lt;br /&gt;
4&amp;gt; ADD&lt;br /&gt;
5&amp;gt;   Ident int NOT NULL IDENTITY (1, 1)&lt;br /&gt;
6&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
3&amp;gt; --Deleting Duplicates with a Correlated Subquery&lt;br /&gt;
4&amp;gt; DELETE D1&lt;br /&gt;
5&amp;gt; FROM&lt;br /&gt;
6&amp;gt;     Dupes AS D1&lt;br /&gt;
7&amp;gt; WHERE&lt;br /&gt;
8&amp;gt;     D1.Ident &amp;gt;&lt;br /&gt;
9&amp;gt; (&lt;br /&gt;
10&amp;gt;   SELECT&lt;br /&gt;
11&amp;gt;     MIN (D2.Ident)&lt;br /&gt;
12&amp;gt;   FROM&lt;br /&gt;
13&amp;gt;       Dupes AS D2&lt;br /&gt;
14&amp;gt;   WHERE&lt;br /&gt;
15&amp;gt;       D2.ID  = D1.ID&lt;br /&gt;
16&amp;gt;     AND&lt;br /&gt;
17&amp;gt;       D2.Txt = D1.Txt&lt;br /&gt;
18&amp;gt; )&lt;br /&gt;
19&amp;gt;&lt;br /&gt;
20&amp;gt;&lt;br /&gt;
21&amp;gt; drop table dupes;&lt;br /&gt;
22&amp;gt; GO&lt;br /&gt;
(3 rows affected)&lt;br /&gt;
1&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== A table could also be created so that the seed value was negative and the increment was positive:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
4&amp;gt; CREATE TABLE MyTable (MyID Int IDENTITY(-1000000, 100) NOT NULL&lt;br /&gt;
5&amp;gt;            ,MyDescription NVarChar(50) NOT NULL)&lt;br /&gt;
6&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
3&amp;gt; drop table MyTable;&lt;br /&gt;
4&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
By default, once a column has been assigned the IDENTITY property,&lt;br /&gt;
SQL Server does not allow explicit values to be inserted into it.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Cannot insert explicit value for identity column in table &amp;quot;T&amp;quot; when IDENTITY_INSERT is set to OFF.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
4&amp;gt; CREATE TABLE T (&lt;br /&gt;
5&amp;gt;     int1 int IDENTITY PRIMARY KEY,&lt;br /&gt;
6&amp;gt;     bit1 bit NOT NULL DEFAULT 0&lt;br /&gt;
7&amp;gt; )&lt;br /&gt;
8&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; INSERT T (bit1) VALUES (1)&lt;br /&gt;
3&amp;gt; INSERT T (bit1) VALUES (0)&lt;br /&gt;
4&amp;gt; INSERT T DEFAULT VALUES&lt;br /&gt;
5&amp;gt; INSERT T (int1, bit1) VALUES (4,1)&lt;br /&gt;
6&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
Msg 544, Level 16, State 1, Server J\SQLEXPRESS, Line 5&lt;br /&gt;
Cannot insert explicit value for identity column in table &amp;quot;T&amp;quot; when IDENTITY_INSERT is set to OFF.&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; select * from t;&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
int1        bit1&lt;br /&gt;
----------- ----&lt;br /&gt;
          1    1&lt;br /&gt;
          2    0&lt;br /&gt;
          3    0&lt;br /&gt;
(3 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table t;&lt;br /&gt;
3&amp;gt; GO&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Check @@IDENTITY value==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
3&amp;gt;&lt;br /&gt;
4&amp;gt; CREATE TABLE OrderDetails (&lt;br /&gt;
5&amp;gt;      OrderID int NOT NULL ,&lt;br /&gt;
6&amp;gt;      ProductID int NOT NULL ,&lt;br /&gt;
7&amp;gt;      UnitPrice money NOT NULL DEFAULT (0),&lt;br /&gt;
8&amp;gt;      Quantity smallint NOT NULL DEFAULT (1),&lt;br /&gt;
9&amp;gt;      Discount real NOT NULL DEFAULT (0)&lt;br /&gt;
10&amp;gt; )&lt;br /&gt;
11&amp;gt; GO&lt;br /&gt;
1&amp;gt; INSERT OrderDetails VALUES(10248,11,14,12,0)&lt;br /&gt;
2&amp;gt; INSERT OrderDetails VALUES(10248,42,9.8,10,0)&lt;br /&gt;
3&amp;gt; INSERT OrderDetails VALUES(10248,72,34.8,5,0)&lt;br /&gt;
4&amp;gt; INSERT OrderDetails VALUES(10249,14,18.6,9,0)&lt;br /&gt;
5&amp;gt; INSERT OrderDetails VALUES(10249,51,42.4,40,0)&lt;br /&gt;
6&amp;gt; INSERT OrderDetails VALUES(10250,41,7.7,10,0)&lt;br /&gt;
7&amp;gt; INSERT OrderDetails VALUES(10250,51,42.4,35,0.15)&lt;br /&gt;
8&amp;gt; INSERT OrderDetails VALUES(10250,65,16.8,15,0.15)&lt;br /&gt;
9&amp;gt; INSERT OrderDetails VALUES(10251,22,16.8,6,0.05)&lt;br /&gt;
10&amp;gt; INSERT OrderDetails VALUES(10251,57,15.6,15,0.05)&lt;br /&gt;
11&amp;gt; go&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
3&amp;gt; CREATE TABLE Orders (&lt;br /&gt;
4&amp;gt;      OrderID int IDENTITY (1, 1) NOT NULL ,&lt;br /&gt;
5&amp;gt;      CustomerID nchar (5) NULL ,&lt;br /&gt;
6&amp;gt;      EmployeeID int NULL ,&lt;br /&gt;
7&amp;gt;      OrderDate datetime NULL ,&lt;br /&gt;
8&amp;gt;      RequiredDate datetime NULL ,&lt;br /&gt;
9&amp;gt;      ShippedDate datetime NULL ,&lt;br /&gt;
10&amp;gt;     ShipVia int NULL ,&lt;br /&gt;
11&amp;gt;     Freight money NULL DEFAULT (0),&lt;br /&gt;
12&amp;gt;     ShipName nvarchar (40) NULL ,&lt;br /&gt;
13&amp;gt;     ShipAddress nvarchar (60) NULL ,&lt;br /&gt;
14&amp;gt;     ShipCity nvarchar (15) NULL ,&lt;br /&gt;
15&amp;gt;     ShipRegion nvarchar (15) NULL ,&lt;br /&gt;
16&amp;gt;     ShipPostalCode nvarchar (10) NULL ,&lt;br /&gt;
17&amp;gt;     ShipCountry nvarchar (15) NULL&lt;br /&gt;
18&amp;gt; )&lt;br /&gt;
19&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
3&amp;gt;    DECLARE @Ident int&lt;br /&gt;
4&amp;gt;&lt;br /&gt;
5&amp;gt;    INSERT INTO Orders&lt;br /&gt;
6&amp;gt;    (CustomerID,OrderDate)&lt;br /&gt;
7&amp;gt;    VALUES&lt;br /&gt;
8&amp;gt;    (&amp;quot;ALFKI&amp;quot;, DATEADD(day,-1,GETDATE()))&lt;br /&gt;
9&amp;gt;&lt;br /&gt;
10&amp;gt;    SELECT @Ident = @@IDENTITY&lt;br /&gt;
11&amp;gt;&lt;br /&gt;
12&amp;gt;    INSERT INTO   OrderDetails&lt;br /&gt;
13&amp;gt;    (OrderID, ProductID, UnitPrice, Quantity)&lt;br /&gt;
14&amp;gt;    VALUES&lt;br /&gt;
15&amp;gt;    (@Ident, 1, 50, 25)&lt;br /&gt;
16&amp;gt;&lt;br /&gt;
17&amp;gt;    SELECT &amp;quot;The OrderID of the INSERTed row is &amp;quot; + CONVERT(varchar(8),@Ident)&lt;br /&gt;
18&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
-------------------------------------------&lt;br /&gt;
The OrderID of the INSERTed row is 1&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table orders;&lt;br /&gt;
3&amp;gt; drop table OrderDetails;&lt;br /&gt;
4&amp;gt; GO&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Create table with IDENTITY column==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
The basic syntax for creating a table is as follows:&lt;br /&gt;
CREATE TABLE [database_name].[owner].table_name&lt;br /&gt;
   (column_name data_type [length] [IDENTITY(seed, increment)] [NOT NULL])&lt;br /&gt;
9&amp;gt; CREATE TABLE Groups (&lt;br /&gt;
10&amp;gt;    Id int IDENTITY (1, 1) NOT NULL&lt;br /&gt;
11&amp;gt; )&lt;br /&gt;
12&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table Groups&lt;br /&gt;
3&amp;gt; GO&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Generating IDENTITY values==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
4&amp;gt; IF EXISTS (SELECT name&lt;br /&gt;
5&amp;gt;    FROM sysobjects&lt;br /&gt;
6&amp;gt;    WHERE name = N&amp;quot;Players&amp;quot;&lt;br /&gt;
7&amp;gt;    AND type = &amp;quot;U&amp;quot;&lt;br /&gt;
8&amp;gt; )&lt;br /&gt;
9&amp;gt; DROP TABLE Players&lt;br /&gt;
10&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; create table Players (&lt;br /&gt;
3&amp;gt;    Id int IDENTITY (1, 1) NOT NULL&lt;br /&gt;
4&amp;gt; )&lt;br /&gt;
5&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table Players&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
1&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== IDENTITY(==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
2&amp;gt; CREATE TABLE customer&lt;br /&gt;
3&amp;gt; (&lt;br /&gt;
4&amp;gt; cust_id      smallint        IDENTITY(100, 20)  NOT NULL,&lt;br /&gt;
5&amp;gt; cust_name    varchar(50)     NOT NULL&lt;br /&gt;
6&amp;gt; )&lt;br /&gt;
7&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; SELECT IDENT_CURRENT(&amp;quot;customer&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
----------------------------------------&lt;br /&gt;
                                     100&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table customer;&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
1&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Identity: A numerical value automatically assigned to a row any time a new row is added.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
4&amp;gt;&lt;br /&gt;
5&amp;gt; CREATE TABLE MyTable (&lt;br /&gt;
6&amp;gt; MyID Int IDENTITY(1, 1) NOT NULL&lt;br /&gt;
7&amp;gt; , MyDescription nVarChar(50) NOT NULL)&lt;br /&gt;
8&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table MyTable;&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
The actual syntax for the IDENTITY property is as follows:&lt;br /&gt;
IDENTITY [ (seed , increment ) ]&lt;br /&gt;
4&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Identity column==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
3&amp;gt; CREATE TABLE customer&lt;br /&gt;
4&amp;gt; (&lt;br /&gt;
5&amp;gt; cust_id      int          IDENTITY  NOT NULL,&lt;br /&gt;
6&amp;gt; cust_name    varchar(30)  NOT NULL,&lt;br /&gt;
7&amp;gt; CONSTRAINT customer_PK PRIMARY KEY (cust_id)&lt;br /&gt;
8&amp;gt; )&lt;br /&gt;
9&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; EXEC sp_helpconstraint customer&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
Object Name&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
customer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
constraint_type                                                                                                                                    constraint_name&lt;br /&gt;
                                                                            delete_action update_action status_enabled status_for_replication constraint_keys&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------- ------------- ------------- -------------- ---------------------- ----------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------&lt;br /&gt;
PRIMARY KEY (clustered)                                                                                                                            customer_PK&lt;br /&gt;
                                                                            (n/a)         (n/a)         (n/a)          (n/a)                  cust_id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
No foreign keys reference table &amp;quot;customer&amp;quot;, or you do not have permissions on referencing tables.&lt;br /&gt;
1&amp;gt; drop table customer;&lt;br /&gt;
2&amp;gt; GO&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== IDENTITY/NOT NULL/PRIMARY KEY==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
12&amp;gt; CREATE TABLE customer&lt;br /&gt;
13&amp;gt; (&lt;br /&gt;
14&amp;gt; cust_id      int            IDENTITY  NOT NULL  PRIMARY KEY,&lt;br /&gt;
15&amp;gt; cust_name    varchar(30)    NOT NULL&lt;br /&gt;
16&amp;gt; )&lt;br /&gt;
17&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; EXEC sp_helpconstraint customer&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
Object Name&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
customer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
constraint_type                                                                                                                                    constraint_name&lt;br /&gt;
                                                                            delete_action update_action status_enabled status_for_replication constraint_keys&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------- ------------- ------------- -------------- ---------------------- ----------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--------------------------------------------------------------------&lt;br /&gt;
PRIMARY KEY (clustered)                                                                                                                            PK__customer__383021B8&lt;br /&gt;
                                                                            (n/a)         (n/a)         (n/a)          (n/a)                  cust_id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
No foreign keys reference table &amp;quot;customer&amp;quot;, or you do not have permissions on referencing tables.&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table customer;&lt;br /&gt;
3&amp;gt; GO&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Query a view with four table join==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
4&amp;gt; CREATE TABLE Customers (&lt;br /&gt;
5&amp;gt;      CustomerID nchar (5) NOT NULL ,&lt;br /&gt;
6&amp;gt;      CompanyName nvarchar (40) NOT NULL ,&lt;br /&gt;
7&amp;gt;      ContactName nvarchar (30) NULL ,&lt;br /&gt;
8&amp;gt;      ContactTitle nvarchar (30) NULL ,&lt;br /&gt;
9&amp;gt;      Address nvarchar (60) NULL ,&lt;br /&gt;
10&amp;gt;     City nvarchar (15) NULL ,&lt;br /&gt;
11&amp;gt;     Region nvarchar (15) NULL ,&lt;br /&gt;
12&amp;gt;     PostalCode nvarchar (10) NULL ,&lt;br /&gt;
13&amp;gt;     Country nvarchar (15) NULL ,&lt;br /&gt;
14&amp;gt;     Phone nvarchar (24) NULL ,&lt;br /&gt;
15&amp;gt;     Fax nvarchar (24) NULL&lt;br /&gt;
16&amp;gt; )&lt;br /&gt;
17&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; INSERT Customers VALUES(&amp;quot;1&amp;quot;,&amp;quot;A&amp;quot;,&amp;quot;Maria&amp;quot;,    &amp;quot;Sales&amp;quot;,  &amp;quot;Str. 57&amp;quot;, &amp;quot;Berlin&amp;quot;    ,NULL,&amp;quot;12209&amp;quot;, &amp;quot;Germany&amp;quot;,&amp;quot;111-1111111&amp;quot;,&amp;quot;111-1111111&amp;quot;)&lt;br /&gt;
3&amp;gt; INSERT Customers VALUES(&amp;quot;2&amp;quot;,&amp;quot;M&amp;quot;,&amp;quot;Joe&amp;quot;,      &amp;quot;Owner&amp;quot;,  &amp;quot;Ave. 231&amp;quot;,&amp;quot;Vancouver&amp;quot; ,NULL,&amp;quot;05023&amp;quot;, &amp;quot;Mexico&amp;quot;, &amp;quot;(222) 222-3332&amp;quot;,NULL)&lt;br /&gt;
4&amp;gt; INSERT Customers VALUES(&amp;quot;3&amp;quot;,&amp;quot;H&amp;quot;,&amp;quot;Thomas&amp;quot;,   &amp;quot;Sales&amp;quot;,  &amp;quot;Sq.  111&amp;quot;,&amp;quot;London&amp;quot;    ,NULL,&amp;quot;1D00P&amp;quot;, &amp;quot;UK&amp;quot;,     &amp;quot;(444) 444-4444&amp;quot;,&amp;quot;(444) 444-4444&amp;quot;)&lt;br /&gt;
5&amp;gt; INSERT Customers VALUES(&amp;quot;4&amp;quot;,&amp;quot;B&amp;quot;,&amp;quot;Berg&amp;quot;,     &amp;quot;Order&amp;quot;,  &amp;quot;Blv    8&amp;quot;,&amp;quot;Toronto&amp;quot;   ,NULL,&amp;quot;00222&amp;quot;, &amp;quot;Sweden&amp;quot;, &amp;quot;4444-55 55 65&amp;quot;,&amp;quot;5555-55 55 55&amp;quot;)&lt;br /&gt;
6&amp;gt; INSERT Customers VALUES(&amp;quot;5&amp;quot;,&amp;quot;S&amp;quot;,&amp;quot;Moos&amp;quot;,     &amp;quot;Sales&amp;quot;,  &amp;quot;Fort  57&amp;quot;,&amp;quot;New York&amp;quot;  ,NULL,&amp;quot;68306&amp;quot;, &amp;quot;Germany&amp;quot;,&amp;quot;6666-66666&amp;quot;,&amp;quot;6666-77777&amp;quot;)&lt;br /&gt;
7&amp;gt; INSERT Customers VALUES(&amp;quot;6&amp;quot;,&amp;quot;F&amp;quot;,&amp;quot;Cite&amp;quot;,     &amp;quot;Manager&amp;quot;,&amp;quot;24      &amp;quot;,&amp;quot;Dalles&amp;quot;    ,NULL,&amp;quot;67000&amp;quot;, &amp;quot;France&amp;quot;, &amp;quot;88.60.15.31&amp;quot;,&amp;quot;88.60.15.32&amp;quot;)&lt;br /&gt;
8&amp;gt; INSERT Customers VALUES(&amp;quot;7&amp;quot;,&amp;quot;C&amp;quot;,&amp;quot;Sommer&amp;quot;,   &amp;quot;Owner&amp;quot;,  &amp;quot;Araq, 67&amp;quot;,&amp;quot;Paris&amp;quot;     ,NULL,&amp;quot;28023&amp;quot;, &amp;quot;Spain&amp;quot;,  &amp;quot;(91) 555 22 82&amp;quot;,&amp;quot;(91) 555 91 99&amp;quot;)&lt;br /&gt;
9&amp;gt; INSERT Customers VALUES(&amp;quot;8&amp;quot;,&amp;quot;P&amp;quot;,&amp;quot;Leb&amp;quot;,      &amp;quot;Owner&amp;quot;,  &amp;quot;12      &amp;quot;,&amp;quot;Beijing&amp;quot;   ,NULL,&amp;quot;13008&amp;quot;, &amp;quot;France&amp;quot;, &amp;quot;91.24.45.40&amp;quot;,&amp;quot;91.24.45.41&amp;quot;)&lt;br /&gt;
10&amp;gt; INSERT Customers VALUES(&amp;quot;9&amp;quot;,&amp;quot;D&amp;quot;,&amp;quot;Elizabeth&amp;quot;,&amp;quot;Manager&amp;quot;,&amp;quot;23 Blvd.&amp;quot;,&amp;quot;Tsawassen&amp;quot;,&amp;quot;BC&amp;quot;, &amp;quot;T2F8M4&amp;quot;,&amp;quot;Canada&amp;quot;, &amp;quot;(604) 555-4729&amp;quot;,&amp;quot;(604) 555-3745&amp;quot;)&lt;br /&gt;
11&amp;gt; go&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
3&amp;gt; CREATE TABLE Orders (&lt;br /&gt;
4&amp;gt;      OrderID int IDENTITY (1, 1) NOT NULL ,&lt;br /&gt;
5&amp;gt;      CustomerID nchar (5) NULL ,&lt;br /&gt;
6&amp;gt;      EmployeeID int NULL ,&lt;br /&gt;
7&amp;gt;      OrderDate datetime NULL ,&lt;br /&gt;
8&amp;gt;      RequiredDate datetime NULL ,&lt;br /&gt;
9&amp;gt;      ShippedDate datetime NULL ,&lt;br /&gt;
10&amp;gt;     ShipVia int NULL ,&lt;br /&gt;
11&amp;gt;     Freight money NULL DEFAULT (0),&lt;br /&gt;
12&amp;gt;     ShipName nvarchar (40) NULL ,&lt;br /&gt;
13&amp;gt;     ShipAddress nvarchar (60) NULL ,&lt;br /&gt;
14&amp;gt;     ShipCity nvarchar (15) NULL ,&lt;br /&gt;
15&amp;gt;     ShipRegion nvarchar (15) NULL ,&lt;br /&gt;
16&amp;gt;     ShipPostalCode nvarchar (10) NULL ,&lt;br /&gt;
17&amp;gt;     ShipCountry nvarchar (15) NULL&lt;br /&gt;
18&amp;gt; )&lt;br /&gt;
19&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; CREATE TABLE Products (&lt;br /&gt;
3&amp;gt;      ProductID int NOT NULL ,&lt;br /&gt;
4&amp;gt;      ProductName nvarchar (40) NOT NULL ,&lt;br /&gt;
5&amp;gt;      SupplierID int NULL ,&lt;br /&gt;
6&amp;gt;      CategoryID int NULL ,&lt;br /&gt;
7&amp;gt;      QuantityPerUnit nvarchar (20) NULL ,&lt;br /&gt;
8&amp;gt;      UnitPrice money NULL,&lt;br /&gt;
9&amp;gt;      UnitsInStock smallint NULL,&lt;br /&gt;
10&amp;gt;     UnitsOnOrder smallint NULL,&lt;br /&gt;
11&amp;gt;     ReorderLevel smallint NULL,&lt;br /&gt;
12&amp;gt;     Discontinued bit NOT NULL&lt;br /&gt;
13&amp;gt; )&lt;br /&gt;
14&amp;gt; GO&lt;br /&gt;
1&amp;gt; INSERT Products VALUES(1,&amp;quot;F&amp;quot;,15,4,&amp;quot;10 - 999 g pkgs.&amp;quot;,61.5,66,6,6,6)&lt;br /&gt;
2&amp;gt; INSERT Products VALUES(2,&amp;quot;M&amp;quot;,14,4,&amp;quot;24 - 888 g pkgs.&amp;quot;,34.8,74,7,7,7)&lt;br /&gt;
3&amp;gt; INSERT Products VALUES(3,&amp;quot;R&amp;quot;,17,8,&amp;quot;24 - 777 g jars&amp;quot;,17,171,0,5,0)&lt;br /&gt;
4&amp;gt; INSERT Products VALUES(4,&amp;quot;L&amp;quot;,4,7,&amp;quot;5 kg pkg.&amp;quot;,10,4,20,5,0)&lt;br /&gt;
5&amp;gt; INSERT Products VALUES(5,&amp;quot;R&amp;quot;,12,1,&amp;quot;24 - 0.5 l bottles&amp;quot;,1.23,445,0,25,0)&lt;br /&gt;
6&amp;gt; INSERT Products VALUES(6,&amp;quot;L&amp;quot;,23,1,&amp;quot;500 ml&amp;quot;,18,57,1,20,0)&lt;br /&gt;
7&amp;gt; INSERT Products VALUES(7,&amp;quot;O&amp;quot;,12,2,&amp;quot;12 boxes&amp;quot;,13,23,0,15,0)&lt;br /&gt;
8&amp;gt; go&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
3&amp;gt; CREATE TABLE OrderDetails (&lt;br /&gt;
4&amp;gt;      OrderID int NOT NULL ,&lt;br /&gt;
5&amp;gt;      ProductID int NOT NULL ,&lt;br /&gt;
6&amp;gt;      UnitPrice money NOT NULL DEFAULT (0),&lt;br /&gt;
7&amp;gt;      Quantity smallint NOT NULL DEFAULT (1),&lt;br /&gt;
8&amp;gt;      Discount real NOT NULL DEFAULT (0)&lt;br /&gt;
9&amp;gt; )&lt;br /&gt;
10&amp;gt; GO&lt;br /&gt;
1&amp;gt; INSERT OrderDetails VALUES(10248,11,14,12,0)&lt;br /&gt;
2&amp;gt; INSERT OrderDetails VALUES(10248,42,9.8,10,0)&lt;br /&gt;
3&amp;gt; INSERT OrderDetails VALUES(10248,72,34.8,5,0)&lt;br /&gt;
4&amp;gt; INSERT OrderDetails VALUES(10249,14,18.6,9,0)&lt;br /&gt;
5&amp;gt; INSERT OrderDetails VALUES(10249,51,42.4,40,0)&lt;br /&gt;
6&amp;gt; INSERT OrderDetails VALUES(10250,41,7.7,10,0)&lt;br /&gt;
7&amp;gt; INSERT OrderDetails VALUES(10250,51,42.4,35,0.15)&lt;br /&gt;
8&amp;gt; INSERT OrderDetails VALUES(10250,65,16.8,15,0.15)&lt;br /&gt;
9&amp;gt; INSERT OrderDetails VALUES(10251,22,16.8,6,0.05)&lt;br /&gt;
10&amp;gt; INSERT OrderDetails VALUES(10251,57,15.6,15,0.05)&lt;br /&gt;
11&amp;gt; go&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
3&amp;gt;    CREATE VIEW CustomerOrders_vw&lt;br /&gt;
4&amp;gt;    AS&lt;br /&gt;
5&amp;gt;    SELECT   cu.rupanyName,&lt;br /&gt;
6&amp;gt;             o.OrderID,&lt;br /&gt;
7&amp;gt;             o.OrderDate,&lt;br /&gt;
8&amp;gt;             od.ProductID,&lt;br /&gt;
9&amp;gt;             p.ProductName,&lt;br /&gt;
10&amp;gt;             od.Quantity,&lt;br /&gt;
11&amp;gt;             od.UnitPrice,&lt;br /&gt;
12&amp;gt;             od.Quantity * Od.UnitPrice AS ExtendedPrice&lt;br /&gt;
13&amp;gt;    FROM     Customers AS cu&lt;br /&gt;
14&amp;gt;    INNER JOIN   Orders AS o&lt;br /&gt;
15&amp;gt;          ON cu.CustomerID = o.CustomerID&lt;br /&gt;
16&amp;gt;    INNER JOIN   OrderDetails AS od&lt;br /&gt;
17&amp;gt;          ON o.OrderID = od.OrderID&lt;br /&gt;
18&amp;gt;    INNER JOIN   Products AS p&lt;br /&gt;
19&amp;gt;          ON od.ProductID = p.ProductID&lt;br /&gt;
20&amp;gt; GO&lt;br /&gt;
1&amp;gt;    SELECT CompanyName, ExtendedPrice&lt;br /&gt;
2&amp;gt;    FROM CustomerOrders_vw&lt;br /&gt;
3&amp;gt;    WHERE OrderDate = &amp;quot;9/3/1996&amp;quot;&lt;br /&gt;
4&amp;gt; GO&lt;br /&gt;
CompanyName                              ExtendedPrice&lt;br /&gt;
---------------------------------------- ---------------------&lt;br /&gt;
(0 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop VIEW CustomerOrders_vw;&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
1&amp;gt; drop table Customers;&lt;br /&gt;
2&amp;gt; drop table orders;&lt;br /&gt;
3&amp;gt; drop table orderdetails;&lt;br /&gt;
4&amp;gt; drop table Products;&lt;br /&gt;
5&amp;gt; GO&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Query that Returns Result Row Numbers, Starting with 1 and Incrementing by 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
4&amp;gt;&lt;br /&gt;
5&amp;gt; CREATE TABLE MyTable (&lt;br /&gt;
6&amp;gt;  key_col int NOT NULL IDENTITY (1,1),&lt;br /&gt;
7&amp;gt;  abc     char(1) NOT NULL&lt;br /&gt;
8&amp;gt; )&lt;br /&gt;
9&amp;gt; INSERT INTO MyTable VALUES (&amp;quot;a&amp;quot;)&lt;br /&gt;
10&amp;gt; INSERT INTO MyTable VALUES (&amp;quot;b&amp;quot;)&lt;br /&gt;
11&amp;gt; INSERT INTO MyTable VALUES (&amp;quot;c&amp;quot;)&lt;br /&gt;
12&amp;gt; SELECT * FROM MyTable ORDER BY key_col&lt;br /&gt;
13&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
key_col     abc&lt;br /&gt;
----------- ---&lt;br /&gt;
          1 a&lt;br /&gt;
          2 b&lt;br /&gt;
          3 c&lt;br /&gt;
(3 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; SELECT&lt;br /&gt;
3&amp;gt;  1 +&lt;br /&gt;
4&amp;gt;  3 *&lt;br /&gt;
5&amp;gt;  (SELECT&lt;br /&gt;
6&amp;gt;    count(*)&lt;br /&gt;
7&amp;gt;   FROM&lt;br /&gt;
8&amp;gt;    MyTable AS T2&lt;br /&gt;
9&amp;gt;   WHERE&lt;br /&gt;
10&amp;gt;    T2.abc &amp;lt; T1.abc) AS rownum,&lt;br /&gt;
11&amp;gt;  abc&lt;br /&gt;
12&amp;gt; FROM&lt;br /&gt;
13&amp;gt;  MyTable AS T1&lt;br /&gt;
14&amp;gt; ORDER BY&lt;br /&gt;
15&amp;gt;  abc&lt;br /&gt;
16&amp;gt;&lt;br /&gt;
17&amp;gt; drop table MyTable&lt;br /&gt;
18&amp;gt; GO&lt;br /&gt;
rownum      abc&lt;br /&gt;
----------- ---&lt;br /&gt;
          1 a&lt;br /&gt;
          4 b&lt;br /&gt;
          7 c&lt;br /&gt;
(3 rows affected)&lt;br /&gt;
1&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Retrieving the Maximum Value of key_col from MyTable==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
5&amp;gt; CREATE TABLE MyTable (&lt;br /&gt;
6&amp;gt;  key_col int NOT NULL IDENTITY (1,1),&lt;br /&gt;
7&amp;gt;  abc     char(1) NOT NULL&lt;br /&gt;
8&amp;gt; )&lt;br /&gt;
9&amp;gt; INSERT INTO MyTable VALUES (&amp;quot;a&amp;quot;)&lt;br /&gt;
10&amp;gt; INSERT INTO MyTable VALUES (&amp;quot;b&amp;quot;)&lt;br /&gt;
11&amp;gt; INSERT INTO MyTable VALUES (&amp;quot;c&amp;quot;)&lt;br /&gt;
12&amp;gt; SELECT * FROM MyTable ORDER BY key_col&lt;br /&gt;
13&amp;gt;&lt;br /&gt;
14&amp;gt;&lt;br /&gt;
15&amp;gt; SELECT&lt;br /&gt;
16&amp;gt;  MAX (key_col) AS max_key_col&lt;br /&gt;
17&amp;gt; FROM&lt;br /&gt;
18&amp;gt;  MyTable&lt;br /&gt;
19&amp;gt;&lt;br /&gt;
20&amp;gt; drop table MyTable&lt;br /&gt;
21&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
key_col     abc&lt;br /&gt;
----------- ---&lt;br /&gt;
          1 a&lt;br /&gt;
          2 b&lt;br /&gt;
          3 c&lt;br /&gt;
(3 rows affected)&lt;br /&gt;
max_key_col&lt;br /&gt;
-----------&lt;br /&gt;
          3&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Saving the @@IDENTITY Value in a Variable==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
4&amp;gt;&lt;br /&gt;
5&amp;gt; CREATE TABLE MyTable (&lt;br /&gt;
6&amp;gt;  key_col int NOT NULL IDENTITY (1,1),&lt;br /&gt;
7&amp;gt;  abc     char(1) NOT NULL&lt;br /&gt;
8&amp;gt; )&lt;br /&gt;
9&amp;gt; INSERT INTO MyTable VALUES (&amp;quot;a&amp;quot;)&lt;br /&gt;
10&amp;gt; INSERT INTO MyTable VALUES (&amp;quot;b&amp;quot;)&lt;br /&gt;
11&amp;gt; INSERT INTO MyTable VALUES (&amp;quot;c&amp;quot;)&lt;br /&gt;
12&amp;gt; SELECT * FROM MyTable ORDER BY key_col&lt;br /&gt;
13&amp;gt;&lt;br /&gt;
14&amp;gt;&lt;br /&gt;
15&amp;gt; DECLARE @mylastident AS int&lt;br /&gt;
16&amp;gt; SET @mylastident = @@IDENTITY&lt;br /&gt;
17&amp;gt; PRINT @mylastident&lt;br /&gt;
18&amp;gt;&lt;br /&gt;
19&amp;gt; drop table MyTable&lt;br /&gt;
20&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
key_col     abc&lt;br /&gt;
----------- ---&lt;br /&gt;
          1 a&lt;br /&gt;
          2 b&lt;br /&gt;
          3 c&lt;br /&gt;
(3 rows affected)&lt;br /&gt;
3&lt;br /&gt;
1&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== SELECT Statement and IDENTITY Property==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
The IDENTITYCOL variable can be used instead of the name of the column with the IDENTITY property.&lt;br /&gt;
8&amp;gt; CREATE TABLE product&lt;br /&gt;
9&amp;gt;        (product_no INTEGER IDENTITY(10000,1) NOT NULL,&lt;br /&gt;
10&amp;gt;         product_name CHAR(30) NOT NULL,&lt;br /&gt;
11&amp;gt;         price MONEY)&lt;br /&gt;
12&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; SELECT IDENTITYCOL&lt;br /&gt;
3&amp;gt;          FROM product&lt;br /&gt;
4&amp;gt;          WHERE product_name = &amp;quot;Soap&amp;quot;&lt;br /&gt;
5&amp;gt; GO&lt;br /&gt;
product_no&lt;br /&gt;
-----------&lt;br /&gt;
(0 rows affected)&lt;br /&gt;
1&amp;gt; drop table product;&lt;br /&gt;
2&amp;gt; GO&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== SQL Server provides the @@IDENTITY global variable to hold that value.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
4&amp;gt; CREATE TABLE MyTable (MyID Int IDENTITY(1, 10) NOT NULL&lt;br /&gt;
5&amp;gt;            , MyDescription nVarChar(50) NOT NULL)&lt;br /&gt;
6&amp;gt;&lt;br /&gt;
7&amp;gt; INSERT MyTable (MyDescription) VALUES (&amp;quot;Auto Record 1&amp;quot;)&lt;br /&gt;
8&amp;gt; INSERT MyTable (MyDescription) VALUES (&amp;quot;Auto Record 2&amp;quot;)&lt;br /&gt;
9&amp;gt;&lt;br /&gt;
10&amp;gt; SET IDENTITY_INSERT MyTable ON&lt;br /&gt;
11&amp;gt;&lt;br /&gt;
12&amp;gt; INSERT MyTable (MyID, MyDescription) VALUES (5, &amp;quot;Manual Record 1&amp;quot;)&lt;br /&gt;
13&amp;gt;&lt;br /&gt;
14&amp;gt; SET IDENTITY_INSERT MyTable OFF&lt;br /&gt;
15&amp;gt;&lt;br /&gt;
16&amp;gt; INSERT MyTable (MyDescription) VALUES (&amp;quot;Auto Record 3&amp;quot;)&lt;br /&gt;
17&amp;gt;&lt;br /&gt;
18&amp;gt; SELECT * FROM MyTable&lt;br /&gt;
19&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
MyID        MyDescription&lt;br /&gt;
----------- --------------------------------------------------&lt;br /&gt;
          1 Auto Record 1&lt;br /&gt;
         11 Auto Record 2&lt;br /&gt;
          5 Manual Record 1&lt;br /&gt;
         21 Auto Record 3&lt;br /&gt;
(4 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; SELECT @@IDENTITY AS LastIdentity&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
LastIdentity&lt;br /&gt;
----------------------------------------&lt;br /&gt;
                                      21&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; drop table MyTable;&lt;br /&gt;
2&amp;gt; GO&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== SQL Server will choose the highest number as its current seed for a positive increment value or the lowest for a negative increment value.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
4&amp;gt; CREATE TABLE MyTable (MyID Int IDENTITY(1, 10) NOT NULL&lt;br /&gt;
5&amp;gt;            , MyDescription nVarChar(50) NOT NULL)&lt;br /&gt;
6&amp;gt;&lt;br /&gt;
7&amp;gt; INSERT MyTable (MyDescription) VALUES (&amp;quot;Auto Record 1&amp;quot;)&lt;br /&gt;
8&amp;gt; INSERT MyTable (MyDescription) VALUES (&amp;quot;Auto Record 2&amp;quot;)&lt;br /&gt;
9&amp;gt;&lt;br /&gt;
10&amp;gt; SET IDENTITY_INSERT MyTable ON&lt;br /&gt;
11&amp;gt;&lt;br /&gt;
12&amp;gt; INSERT MyTable (MyID, MyDescription) VALUES (5, &amp;quot;Manual Record 1&amp;quot;)&lt;br /&gt;
13&amp;gt;&lt;br /&gt;
14&amp;gt; SET IDENTITY_INSERT MyTable OFF&lt;br /&gt;
15&amp;gt;&lt;br /&gt;
16&amp;gt; INSERT MyTable (MyDescription) VALUES (&amp;quot;Auto Record 3&amp;quot;)&lt;br /&gt;
17&amp;gt;&lt;br /&gt;
18&amp;gt; SELECT * FROM MyTable&lt;br /&gt;
19&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
MyID        MyDescription&lt;br /&gt;
----------- --------------------------------------------------&lt;br /&gt;
          1 Auto Record 1&lt;br /&gt;
         11 Auto Record 2&lt;br /&gt;
          5 Manual Record 1&lt;br /&gt;
         21 Auto Record 3&lt;br /&gt;
(4 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table MyTable;&lt;br /&gt;
3&amp;gt; GO&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Storing the Results in a Temporary Table Using the IDENTITY() Function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
4&amp;gt;&lt;br /&gt;
5&amp;gt; CREATE TABLE MyTable (&lt;br /&gt;
6&amp;gt;  key_col int NOT NULL IDENTITY (1,1),&lt;br /&gt;
7&amp;gt;  abc     char(1) NOT NULL&lt;br /&gt;
8&amp;gt; )&lt;br /&gt;
9&amp;gt; INSERT INTO MyTable VALUES (&amp;quot;a&amp;quot;)&lt;br /&gt;
10&amp;gt; INSERT INTO MyTable VALUES (&amp;quot;b&amp;quot;)&lt;br /&gt;
11&amp;gt; INSERT INTO MyTable VALUES (&amp;quot;c&amp;quot;)&lt;br /&gt;
12&amp;gt; SELECT * FROM MyTable ORDER BY key_col&lt;br /&gt;
13&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
key_col     abc&lt;br /&gt;
----------- ---&lt;br /&gt;
          1 a&lt;br /&gt;
          2 b&lt;br /&gt;
          3 c&lt;br /&gt;
(3 rows affected)&lt;br /&gt;
1&amp;gt; SELECT&lt;br /&gt;
2&amp;gt;  IDENTITY (int , 1, 1) AS rownum,&lt;br /&gt;
3&amp;gt;  abc&lt;br /&gt;
4&amp;gt; INTO&lt;br /&gt;
5&amp;gt;  #temp&lt;br /&gt;
6&amp;gt; FROM&lt;br /&gt;
7&amp;gt;  MyTable&lt;br /&gt;
8&amp;gt; ORDER BY&lt;br /&gt;
9&amp;gt;  abc&lt;br /&gt;
10&amp;gt;&lt;br /&gt;
11&amp;gt; --Retrieving the Results of Using the IDENTITY() Function from the Temporary Table&lt;br /&gt;
12&amp;gt; SELECT&lt;br /&gt;
13&amp;gt;  *&lt;br /&gt;
14&amp;gt; FROM&lt;br /&gt;
15&amp;gt;  #temp&lt;br /&gt;
16&amp;gt; ORDER BY&lt;br /&gt;
17&amp;gt;  Abc&lt;br /&gt;
18&amp;gt;&lt;br /&gt;
19&amp;gt; drop table MyTable&lt;br /&gt;
20&amp;gt; GO&lt;br /&gt;
(3 rows affected)&lt;br /&gt;
rownum      abc&lt;br /&gt;
----------- ---&lt;br /&gt;
          1 a&lt;br /&gt;
          2 b&lt;br /&gt;
          3 c&lt;br /&gt;
(3 rows affected)&lt;br /&gt;
1&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Supported data types for the IDENTITY property are TinyInt, SmallInt Int, BigInt, Decimal, and Numeric.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
8&amp;gt;&lt;br /&gt;
9&amp;gt; CREATE TABLE MyTable (&lt;br /&gt;
10&amp;gt; MyID Int IDENTITY(1000000, -100) NOT NULL&lt;br /&gt;
11&amp;gt; ,MyDescription NVarChar(50) NOT NULL )&lt;br /&gt;
12&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table MyTable;&lt;br /&gt;
3&amp;gt; GO&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Syntax for Using the IDENTITY() Function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
The IDENTITY() function is used in a SELECT INTO statement to generate a result column with automatically generated values.&lt;br /&gt;
The IDENTITY() function works in the same way that the IDENTITY property generates them when you use it in a table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 SELECT&lt;br /&gt;
  IDENTITY(&amp;lt;data_type&amp;gt; [, &amp;lt;seed&amp;gt;, &amp;lt;increment&amp;gt;]) AS column_name,&lt;br /&gt;
  &amp;lt;other_columns&amp;gt;&lt;br /&gt;
 INTO&lt;br /&gt;
  &amp;lt;new_table_name&amp;gt;&lt;br /&gt;
 FROM&lt;br /&gt;
  &amp;lt;table_name&amp;gt;&lt;br /&gt;
 WHERE&lt;br /&gt;
  &amp;lt;search_criteria&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Query that Returns Result Row Numbers, Starting with 1 and Incremented by 1&lt;br /&gt;
22&amp;gt;&lt;br /&gt;
23&amp;gt; CREATE TABLE MyTable (&lt;br /&gt;
24&amp;gt;  key_col int NOT NULL IDENTITY (1,1),&lt;br /&gt;
25&amp;gt;  abc     char(1) NOT NULL&lt;br /&gt;
26&amp;gt; )&lt;br /&gt;
27&amp;gt; INSERT INTO MyTable VALUES (&amp;quot;a&amp;quot;)&lt;br /&gt;
28&amp;gt; INSERT INTO MyTable VALUES (&amp;quot;b&amp;quot;)&lt;br /&gt;
29&amp;gt; INSERT INTO MyTable VALUES (&amp;quot;c&amp;quot;)&lt;br /&gt;
30&amp;gt; SELECT * FROM MyTable ORDER BY key_col&lt;br /&gt;
31&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
key_col     abc&lt;br /&gt;
----------- ---&lt;br /&gt;
          1 a&lt;br /&gt;
          2 b&lt;br /&gt;
          3 c&lt;br /&gt;
(3 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; SELECT&lt;br /&gt;
3&amp;gt;  (SELECT&lt;br /&gt;
4&amp;gt;    COUNT (*)&lt;br /&gt;
5&amp;gt;   FROM&lt;br /&gt;
6&amp;gt;    MyTable AS T2&lt;br /&gt;
7&amp;gt;   WHERE&lt;br /&gt;
8&amp;gt;    T2.abc &amp;lt;= T1.abc) AS rownum,&lt;br /&gt;
9&amp;gt;  abc&lt;br /&gt;
10&amp;gt; FROM&lt;br /&gt;
11&amp;gt;  MyTable AS T1&lt;br /&gt;
12&amp;gt; ORDER BY&lt;br /&gt;
13&amp;gt;  abc&lt;br /&gt;
14&amp;gt;&lt;br /&gt;
15&amp;gt; drop table MyTable&lt;br /&gt;
16&amp;gt; GO&lt;br /&gt;
rownum      abc&lt;br /&gt;
----------- ---&lt;br /&gt;
          1 a&lt;br /&gt;
          2 b&lt;br /&gt;
          3 c&lt;br /&gt;
(3 rows affected)&lt;br /&gt;
1&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== The IDENTITY property must be temporarily turned off when inserting a specific value.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
9&amp;gt; CREATE TABLE MyTable (MyID Int IDENTITY(-1000000, 100) NOT NULL&lt;br /&gt;
10&amp;gt;            ,MyDescription NVarChar(50) NOT NULL)&lt;br /&gt;
11&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; SET IDENTITY_INSERT MyTable ON&lt;br /&gt;
3&amp;gt;&lt;br /&gt;
4&amp;gt; INSERT MyTable (MyID, MyDescription)&lt;br /&gt;
5&amp;gt; VALUES (5, &amp;quot;This will work&amp;quot;)&lt;br /&gt;
6&amp;gt;&lt;br /&gt;
7&amp;gt; SET IDENTITY_INSERT MyTable OFF&lt;br /&gt;
8&amp;gt;&lt;br /&gt;
9&amp;gt; select * from MyTable;&lt;br /&gt;
10&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
MyID        MyDescription&lt;br /&gt;
----------- --------------------------------------------------&lt;br /&gt;
          5 This will work&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table MyTable;&lt;br /&gt;
3&amp;gt; GO&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Using the IDENTITY Property and the IDENTITY() Function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
The IDENTITY property enables you to assign an auto-number to a numeric column.&lt;br /&gt;
Values for a column with an IDENTITY property are generated automatically.&lt;br /&gt;
The IDENTITY column must be of datatype int, bigint, smallint, tinyint, decimal, or numeric with a scale of 0.&lt;br /&gt;
It must be non-NULLable.&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>