SQL 2008

20/10/2008 - 15:30 por Maria | Informe spam
Hola,
Estoy trabajando con SQL 2008, tengo una duda:
Estoy creando una nueva tabla, defino sun columnas y la salvo. REviso
la definición y me doy cuenta que me he olvidado poner el atributo
Identity en la columna que es Primay Key. Lo modifico y cuando voy a
guardar los cambios tengo un mensaje diciendo que no puedo realizar la
modificación en la tabla, que tengo que borrarla y volver a crearla
No entiendo por que si la tabla esta vacia, tengo que borrarla...
Alguien sabe si es por que me falta algo por configurar o es una
"mejora" del 2008??

Gracias

Preguntas similare

Leer las respuestas

#11 Maxi Accotto
22/10/2008 - 15:33 | Informe spam
Leo estamos discutiendo lo mismo, lo que yo te decia es que ciertos tipos de
cambios son necesarios romper la tabla, no solo por identity sino tambien
otros tipos de cambios, por ejemplo si agregas un campo en el medio de otros
dos y no al final, esas cosas a la larga rompen la tabla este con datos o
sin datos, no se trata de eso, se trata del tipo de operacion que debe hacer
sql para aplicar el cambio que le solicitas, no todo se resuelve con un
simple Alter Table.

No comprendo la ultima parte de tu mensaje, no creo que la discusion sea
loca ni mucho menos y eso de cambiar con un programa de administracion no se
a que te referfis pero Management Studio es un programa de administracion, y
si el cambio requiere romper todo por el tipo de cambio que solicitas
entonces de donde lo quieras hacer a nivel TSQL hara lo mismo! pero bueno...


Saludos
Maxi Accotto
Microsoft MVP en SQLServer
SQltotalconsulting
-

"Leonardo Azpurua" <l e o n a r d o [arroba] m v p s [punto] o r g> escribió
en el mensaje de noticias:

"Maxi Accotto" escribió en el mensaje
news:
Si Leo te explicas y estas en lo correcto, lo que suecede que el ALter no
soporta eso, o sea no puedes via alter asignar un identity, por eso tiene
que hacer todo lo otro.



Hola, Maxi

Creo que estamos discutiendo cosas diferentes.

Con lo que no estoy de acuerdo es con la afirmación de que hay que borrar
la tabla. Recuerda que el mensaje original indicaba que la tabla en
cuestión no contiene datos.

De todas maneras, la discusión es un poco insensata. Corregir un error en
el diseño de la BD es una cosa que puede hacerse en segundos usando un
programa de administración.


Salud!


Respuesta Responder a este mensaje
#12 Leonardo Azpurua
22/10/2008 - 23:22 | Informe spam
"Maxi Accotto" escribió en el mensaje
news:
Leo estamos discutiendo lo mismo, lo que yo te decia es que ciertos tipos
de cambios son necesarios romper la tabla, no solo por identity sino
tambien otros tipos de cambios, por ejemplo si agregas un campo en el
medio de otros dos y no al final, esas cosas a la larga rompen la tabla
este con datos o sin datos, no se trata de eso, se trata del tipo de
operacion que debe hacer sql para aplicar el cambio que le solicitas, no
todo se resuelve con un simple Alter Table.

No comprendo la ultima parte de tu mensaje, no creo que la discusion sea
loca ni mucho menos y eso de cambiar con un programa de administracion no
se a que te referfis pero Management Studio es un programa de
administracion, y si el cambio requiere romper todo por el tipo de cambio
que solicitas entonces de donde lo quieras hacer a nivel TSQL hara lo
mismo! pero bueno...



El asunto es que según María, la tabla no contiene ningún dato.

En ese caso, lo más simple es eliminar todos los objetos dependientes de la
columna original, eliminar la columna, crearla de nuevo con el atributo
IDENTITY y recrear los objetos (constraints e índices) eliminados para el
mantenimiento.

No debía ser necesario borrar toda la tabla para recrearla con la definición
de columna correcta.


Salud!
Respuesta Responder a este mensaje
#13 Maria
24/10/2008 - 00:58 | Informe spam
Hola,
Una vez que has cambiado la propiedad global en :

- Tools - Options - designers - Table an database designers

Como me indicó Luis. Puedes cambiar el atributo Identity en una columna
sin que te dé el error, incluso teniendo datos.
No es lo más correcto, pero lo que me molestaba era que en el momento
que estaba definiendo una tabla y salvaba la definición, por precaución
ya que tenia que atender una llamada, aunque no habia terminado su
definición, tenia que borrar la tabla y volverla a crear. Logicamento
lo hacia mediante un script en el cual modifidaba la columna con el
error.

Gracias a todos por vuestra ayuda

Maria
Respuesta Responder a este mensaje
#14 Maxi
27/10/2008 - 20:52 | Informe spam
Bueno Leonardo pero funcionan asi este tipo de datos en SQL Server, podrias
si quieres sumarte a los feedback que hemos hecho para que un alter a un
identityu no sea necesario borrar nada :)


Salu2

Microsoft MVP SQL Server
Culminis Speaker
www.sqltotalconsulting.com

"Leonardo Azpurua" <l e o n a r d o [arroba] m v p s [punto] o r g> escribió
en el mensaje news:

"Maxi Accotto" escribió en el mensaje
news:
Leo estamos discutiendo lo mismo, lo que yo te decia es que ciertos tipos
de cambios son necesarios romper la tabla, no solo por identity sino
tambien otros tipos de cambios, por ejemplo si agregas un campo en el
medio de otros dos y no al final, esas cosas a la larga rompen la tabla
este con datos o sin datos, no se trata de eso, se trata del tipo de
operacion que debe hacer sql para aplicar el cambio que le solicitas, no
todo se resuelve con un simple Alter Table.

No comprendo la ultima parte de tu mensaje, no creo que la discusion sea
loca ni mucho menos y eso de cambiar con un programa de administracion no
se a que te referfis pero Management Studio es un programa de
administracion, y si el cambio requiere romper todo por el tipo de cambio
que solicitas entonces de donde lo quieras hacer a nivel TSQL hara lo
mismo! pero bueno...



El asunto es que según María, la tabla no contiene ningún dato.

En ese caso, lo más simple es eliminar todos los objetos dependientes de
la columna original, eliminar la columna, crearla de nuevo con el atributo
IDENTITY y recrear los objetos (constraints e índices) eliminados para el
mantenimiento.

No debía ser necesario borrar toda la tabla para recrearla con la
definición de columna correcta.


Salud!


Respuesta Responder a este mensaje
#15 Leonardo Azpurua
28/10/2008 - 01:52 | Informe spam
"Maxi" escribió en el mensaje
news:%
Bueno Leonardo pero funcionan asi este tipo de datos en SQL Server,
podrias si quieres sumarte a los feedback que hemos hecho para que un
alter a un identityu no sea necesario borrar nada :)



Olvídalo ya, Maxi.

Desde el principio hemos hablado de dos cosas diferentes, y así no hay
cristo que nos poga de acuerdo.


Salud!
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida