miércoles, 27 de agosto de 2008

Insertando valores con AutoIncrement

Para poder insertar registros en una tabla la cual tiene un campo que es la clave primaria y es auto incremental, previo al/los insert se debe agregar la siguiente linea:

SET IDENTITY_INSERT tabla ON -- <- Elimina la restriccion del autoincremental permitiendo setearlo
GO

INSERT INTO tabla values(1,'campo_1', ...), (2, 'campo_1b', ...)

SET IDENTITY_INSERT tabla OFF -- <- Activa la restriccion de autoincrement
GO

Generar Inserts automaticamente en SQL Server 2005


Para obtener los inserts de cualquier tabla que se tenga en una base de SQL Server 2005 se puede usar un stored procedure que se encuentra instalado en la base Master dentro de System Databases. El stored procedure se llama "sp_generate_inserts" y se utiliza de la siguiente manera

exec sp_generate_inserts 'nombre_de_tabla'

y la salida van a ser los inserts correspondientes para usarlos en donde se desee. Muy util si la tabla posee muchos campos o si la cantidad de registros supera un tamaño manejable para hacerlo a mano.

Mis fotos en TrekEarth