Insertando valores en columnas identidad con SQL SERVER con IDENTITY_INSERT

admin

August 16, 2011

SQL SERVER

No Comment

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

No Comment

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: [sql] SELECT AUTOINC_NEXT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ‘MiTabla’ AND COLUMN_NAME = ‘MiColumna’ [/sql] Y como sustituto a RESEED tenemos […]

Read More

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

admin

March 28, 2016

PHP, SQL SERVER

No Comment

Para conectarse a Sql Server desde linux utilizamos este comando para instalar el driver: [bash] $ sudo yum install -y php-mssql [/bash] Por ejemplo, para php5.6: [bash] $ sudo yum install -y php56w-mssql [/bash] Esta instrucción instala freetds, una colección de librerias para conectarnos con Sql Server desde linux. Con esta librería no solo podemos […]

Read More

Leave a Reply

Your email address will not be published. Required fields are marked *