Insertando valores en columnas identidad con SQL SERVER con IDENTITY_INSERT

admin

August 16, 2011

SQL SERVER

Para poder insertar valores en columnas que tengan la propiedad de identidad en MS SQL Server empleamos la función IDENTTY_INSERT.

Las sintaxis es la siguiente:

SET IDENTITY_INSERT NombreDeTabla ON


--Aqui van los inserts
--especificando las columnas
--Ej. INSERT INTO NombreDeTabla (Col1, Col2)
--VALUES (Col2,Col)*/

SET IDENTITY_INSERT NombreDeTabla OFF

Es importante recordar volver a configurar la inserción de identidades automática despues de realizar las inserciones, mediante la instrucción SET IDENITY_INSERT OFF.

También es importante recalcar que se deben especificar las columnas a insertar, en caso contrario, SQL Server arrojará un error del tipo:

Error

An explicit value for the identity column in table ‘{TABLE}’ can only be specified when a column list is used and IDENTITY_INSERT is ON.

Related Posts

CURRENT_IDENT y RESEED en Sql Server Compact Edition

admin

April 21, 2018

SQL SERVER

Sql Server Compact Edition no cuenta con funciones como RESEED o CURRENT_IDENT, así que tenemos que hechar mano de consultas a la información de esquema y de alteración de tablas. Como sustituto a IDENT_CURRENT tenemos: Y como sustituto a RESEED tenemos que alterar la tabla: No es tan complejo ciertamente, y útil para lidiar con […]

Read More

Conexión a Sql Server con Php 5.6 linux CentOS 6

admin

March 28, 2016

PHP, SQL SERVER

Para conectarse a Sql Server desde linux utilizamos este comando para instalar el driver: Por ejemplo, para php5.6: Esta instrucción instala freetds, una colección de librerias para conectarnos con Sql Server desde linux. Con esta librería no solo podemos conectarnos desde Php, sino desde la linea de comandos, con el programa tsql. Después de instalar, […]

Read More