Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

¿Se puede quitar la propiedad ident ity de una columna con alter table?

2,940 views
Skip to first unread message

Manuel Castro Ruiz

unread,
Oct 25, 2001, 11:03:09 AM10/25/01
to
Hola a todos:
Estoy intentando insertar registros sin valor en una columna que es
identity, para un proceso temporal. ¿Se puede mediante alter table
quitar la propiedad identity?.
Gracias.

Ignacio Alonso Portillo

unread,
Oct 25, 2001, 12:09:18 PM10/25/01
to
Una columna definida con la propiedad IDENTITY no puede permitir valores
NULL. Así que "insertar registros sin valor" en esa columna no es posible.

Lo que puedes hacer es insertar valores explícitamente en una columna con
IDENTITY. Para esto debes usar SET IDENTITY_INSERT que está explicado en los
BOL de SQL Server.

Para eliminar la propiedad IDENTITY de una tabla creada con la siguiente
sentencia:
CREATE TABLE tabla (c1 int IDENTITY(1,1), c2 char(2))

Y preservar los datos existentes en la tabla, puedes hacer lo siguiente:
BEGIN TRANSACTION
ALTER TABLE tabla ADD c1_tmp int
UPDATE tabla SET c1_tmp = c1
ALTER TABLE tabla DROP COLUMN c1
ALTER TABLE tabla ADD c1 int
UPDATE tabla SET c1=c1_tmp
ALTER TABLE tabla DROP COLUMN c1_tmp
COMMIT TRANSACTION

HTH,
Nacho

"Manuel Castro Ruiz" <mcas...@teleline.es> wrote in message
news:97f6bd67.0110...@posting.google.com...

Manuel Castro Ruiz

unread,
Oct 29, 2001, 3:06:47 AM10/29/01
to
Gracias, Nacho.
Lo estoy haciendo así, el problema es que me añade el campo al final.
Un saludo.

"Ignacio Alonso Portillo" <ial...@microsoft.com> wrote in message news:<3bd8...@news.microsoft.com>...

0 new messages