Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Eliminar Primary Key

Estas en el tema de Eliminar Primary Key en el foro de SQL Server en Foros del Web. Buenos dias! No le encuentro la vuelta a esto, estoy con SQL SERVER 2005, creo la clave primaria asi: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original ...
  #1 (permalink)  
Antiguo 18/06/2010, 09:34
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
Pregunta Eliminar Primary Key

Buenos dias!

No le encuentro la vuelta a esto, estoy con SQL SERVER 2005, creo la clave primaria asi:

Código SQL:
Ver original
  1. ALTER TABLE usuario ADD PRIMARY KEY (id)


Pero cuando la quiero eliminar no consigo hacerlo, en SQL seria asi:
Código SQL:
Ver original
  1. ALTER TABLE usuario DROP PRIMARY KEY (id)

en SQL Server asi:
Código SQL:
Ver original
  1. ALTER TABLE usuario DROP CONSTRAINT usuario

Y me dice que "no existe restriccion".



En este caso que planteo creo la clave primaria de esa manera, es decir, yo se como se creo. Pero, si me envian una base de datos que no se como se creo su primary key, ¿como elimino la clave primaria?

Desde ya gracias!!
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/
  #2 (permalink)  
Antiguo 18/06/2010, 12:21
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Eliminar Primary Key

http://www.w3schools.com/sql/sql_primarykey.asp
Esta casi al final.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 20/06/2010, 11:36
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
Desacuerdo Respuesta: Eliminar Primary Key

Hola, gracias por la respuesta, pero es la misma situacion que plantie en el primer post. Prueba, y veras que no se puede:

Crea la clave primaria:
Código SQL:
Ver original
  1. ALTER TABLE usuario ADD PRIMARY KEY (id)

Intenta eliminarla:
Código SQL:
Ver original
  1. ALTER TABLE usuario DROP CONSTRAINT usuario -- o pk_usuario o pk_usuarioid o el nombre que quieras

__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/
  #4 (permalink)  
Antiguo 20/06/2010, 12:13
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Eliminar Primary Key

La sintaxis para agregar un PK es:
Código SQL:
Ver original
  1. ALTER TABLE Persons
  2. ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 20/06/2010, 13:30
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
Exclamación Respuesta: Eliminar Primary Key

Asi es, pero, tal cual como lo mencione en el primer post, yo no se de que manera fue creada. Por lo tanto, si se fue creado como lo especifique:

Código SQL:
Ver original
  1. ALTER TABLE usuario ADD PRIMARY KEY (id)

No la puedo eliminar....
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/
  #6 (permalink)  
Antiguo 20/06/2010, 15:26
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Eliminar Primary Key

Fijate el nombre del Primary Key:
Código SQL:
Ver original
  1. SELECT * FROM sysobjects WHERE xtype='PK' AND name='usuario'
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #7 (permalink)  
Antiguo 22/06/2010, 20:56
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
Pregunta Respuesta: Eliminar Primary Key

Código SQL:
Ver original
  1. SELECT * FROM sysobjects WHERE xtype='PK' AND name='usuario'
En ese caso la consulta da vacia.


Si hago:
Código SQL:
Ver original
  1. SELECT * FROM sysobjects WHERE name='usuario'
Aparece el xtype como "U".
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/
  #8 (permalink)  
Antiguo 22/06/2010, 22:59
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Eliminar Primary Key

Código SQL:
Ver original
  1. SELECT T2.*
  2. FROM sysobjects T1
  3. INNER JOIN sysobjects T2 ON T1.id = T2.parent_obj
  4. WHERE T1.name = 'usuario'
  5. AND T2.xtype = 'PK'
Si no te sale nada es que no tienes ninguna clave primaria.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #9 (permalink)  
Antiguo 04/04/2012, 09:45
 
Fecha de Ingreso: mayo-2010
Mensajes: 2
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Eliminar Primary Key

Para eliminar las llaves primarias por código, script o transac SQL, lo único que tienes que hacer es esto:

1. Si tienes una llave primaria debes tener una clave creada por ejemplo para una tabla AGUIAS buscaremos todo lo relacionado a esta tabla:

Código SQL:
SELECT * FROM SYSOBJECTS WHERE NAME LIKE '%AGUIAS%'

En el resultado, en la columna Name me aparecio PK__AGUIAS__505BE5AD, entonces esta es mi clave y tengo que eliminarla.

Código SQL:
ALTER TABLE AGUIAS DROP CONSTRAINT PK__AGUIAS__505BE5AD

Listo eso es todo si seleccionas la tabla en el explorador de objetos y presionas F5, veras que la clave fue eliminada y por lo tanto las llaves relacionadas a esa clave!!

Espero haberte ayudado mi web es: [URL="http://www.gastoncancino.com"]www.gastoncancino.com[/URL] y mi blog: [URL="http://blog.gastoncancino.com"]blog.gastoncancino.com[/URL]

Etiquetas: eliminar, key
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:41.