En SQL Server, puede usar IDENTITY()
función para insertar una columna de identidad en una nueva tabla.
Sin embargo, esta función no debe confundirse con la IDENTITY()
propiedad , que se usa con CREATE TABLE
y ALTER TABLE
declaraciones.
La IDENTITY()
función se usa solo en un SELECT
declaración con un INTO
cláusula de tabla. Por lo tanto, puede usarlo al transferir datos de una tabla a otra, por ejemplo.
Sintaxis
La sintaxis es así:
IDENTITY (data_type [ , seed , increment ] ) AS column_name
El tipo_de_datos El argumento especifica el tipo de datos de la columna de identidad. Los tipos de datos válidos son cualquier tipo de datos de la categoría de tipos de datos enteros, excepto bit. y decimales .
La semilla es el valor que se usa para la primera fila cargada en la tabla.
El incremento es el valor incremental que se agrega al valor de identidad de la fila anterior que se cargó.
nombre_columna El argumento proporciona el nombre de la columna de identidad que desea crear.
Ejemplo 1:uso básico
Aquí hay un ejemplo de código básico.
SELECT IDENTITY(int, 101, 10) AS pet_id, PetName AS pet_name INTO BestFriends FROM Pets;
Esto selecciona datos de las Mascotas y la inserta en una nueva tabla llamada BestFriends . La primera columna es una columna de identidad que creo con IDENTITY()
función. En este caso, configuro la semilla en 101 y el incremento en 10. Llamo a esa columna pet_id .
Llamo a la segunda columna pet_name , y lo relleno desde la columna llamada PetName .
Esto es lo que las mascotas la tabla se parece a:
CREATE TABLE Pets ( PetId int IDENTITY(1,1) PRIMARY KEY, PetName varchar(255) ); INSERT INTO Pets (PetName) VALUES ('Homer'), ('Felix'), ('Ruff'); SELECT * FROM Pet;
Resultado:
+---------+-----------+ | PetId | PetName | |---------+-----------| | 1 | Homer | | 2 | Felix | | 3 | Ruff | +---------+-----------+
Y esto es lo que los BestFriends la tabla se ve después de transferir los datos:
SELECT * FROM BestFriends;
Resultado:
+----------+------------+ | pet_id | pet_name | |----------+------------| | 101 | Homer | | 111 | Felix | | 121 | Ruff | +----------+------------+
Entonces, los nombres de las mascotas siguen siendo los mismos, pero la columna de identidad contiene valores diferentes (porque usé IDENTITY(int, 101, 10)
, en comparación con IDENTITY(1,1)
para las mascotas tabla).