Eliminar relaciones entre tablas a través de transact-sql

21/06/2004 - 10:21 por Angel | Informe spam
quiero cambiar la clave primaria de una tabla de un campo texto a uno
identity.
el caso es que lo quiero hacer a traves de transact pero no consigo saber
como puedo eliminar la clave externa de una tabla para poder borrarla y
crear el nuevo campo que tiene la clave primaria y crear la relacion...

con ALTER TABLE no veo muy clara la instruccion para borrar las relaciones
entre tablas...tieneis algun ejemplo donde borre la clave externa de una
tabla? a traves de transact-sql?

muchas gracias..

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
21/06/2004 - 10:47 | Informe spam
Esta instrucción elimina la relación entre productos y categorías de la
base de datos Northwind:

ALTER TABLE Products DROP CONSTRAINT FK_Products_Categories

La sintaxis por tanto sería:

ALTER TABLE nombreDeLaTabla DROP CONSTRAINT nombreDeLaRestricción


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Angel" <~@hotmail.com> escribió en el mensaje
news:#
quiero cambiar la clave primaria de una tabla de un campo texto a uno
identity.
el caso es que lo quiero hacer a traves de transact pero no consigo saber
como puedo eliminar la clave externa de una tabla para poder borrarla y
crear el nuevo campo que tiene la clave primaria y crear la relacion...

con ALTER TABLE no veo muy clara la instruccion para borrar las relaciones
entre tablas...tieneis algun ejemplo donde borre la clave externa de una
tabla? a traves de transact-sql?

muchas gracias..


Respuesta Responder a este mensaje
#2 Angel
21/06/2004 - 10:56 | Informe spam
He de suponer que la relacion entre productos y categorias es 1 a N.

ok..

muchas gracias...

"Carlos Sacristan" wrote:

Esta instrucción elimina la relación entre productos y categorías de la
base de datos Northwind:

ALTER TABLE Products DROP CONSTRAINT FK_Products_Categories

La sintaxis por tanto sería:

ALTER TABLE nombreDeLaTabla DROP CONSTRAINT nombreDeLaRestricción


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Angel" <~@hotmail.com> escribió en el mensaje
news:#
> quiero cambiar la clave primaria de una tabla de un campo texto a uno
> identity.
> el caso es que lo quiero hacer a traves de transact pero no consigo saber
> como puedo eliminar la clave externa de una tabla para poder borrarla y
> crear el nuevo campo que tiene la clave primaria y crear la relacion...
>
> con ALTER TABLE no veo muy clara la instruccion para borrar las relaciones
> entre tablas...tieneis algun ejemplo donde borre la clave externa de una
> tabla? a traves de transact-sql?
>
> muchas gracias..
>
>



Respuesta Responder a este mensaje
#3 Angel
21/06/2004 - 11:00 | Informe spam
para hacer esto antes necesito saber la restriccion de la clave externa:
select * from sysconstraints where xtype = 'FK' and name like '%categories%'

es correcto?

"Carlos Sacristan" wrote:

Esta instrucción elimina la relación entre productos y categorías de la
base de datos Northwind:

ALTER TABLE Products DROP CONSTRAINT FK_Products_Categories

La sintaxis por tanto sería:

ALTER TABLE nombreDeLaTabla DROP CONSTRAINT nombreDeLaRestricción


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Angel" <~@hotmail.com> escribió en el mensaje
news:#
> quiero cambiar la clave primaria de una tabla de un campo texto a uno
> identity.
> el caso es que lo quiero hacer a traves de transact pero no consigo saber
> como puedo eliminar la clave externa de una tabla para poder borrarla y
> crear el nuevo campo que tiene la clave primaria y crear la relacion...
>
> con ALTER TABLE no veo muy clara la instruccion para borrar las relaciones
> entre tablas...tieneis algun ejemplo donde borre la clave externa de una
> tabla? a traves de transact-sql?
>
> muchas gracias..
>
>



Respuesta Responder a este mensaje
#4 Carlos Sacristan
21/06/2004 - 11:24 | Informe spam
No. Usa las vistas de esquema para eso:

SELECT *
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE table_name='Categories' AND constraint_type='FOREIGN KEY'



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Angel" escribió en el mensaje
news:
para hacer esto antes necesito saber la restriccion de la clave externa:
select * from sysconstraints where xtype = 'FK' and name like


'%categories%'

es correcto?

"Carlos Sacristan" wrote:

> Esta instrucción elimina la relación entre productos y categorías de


la
> base de datos Northwind:
>
> ALTER TABLE Products DROP CONSTRAINT FK_Products_Categories
>
> La sintaxis por tanto sería:
>
> ALTER TABLE nombreDeLaTabla DROP CONSTRAINT nombreDeLaRestricción
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> Por favor, responder únicamente al foro
> Se agradece la inclusión de sentencias DDL
>
>
> "Angel" <~@hotmail.com> escribió en el mensaje
> news:#
> > quiero cambiar la clave primaria de una tabla de un campo texto a uno
> > identity.
> > el caso es que lo quiero hacer a traves de transact pero no consigo


saber
> > como puedo eliminar la clave externa de una tabla para poder borrarla


y
> > crear el nuevo campo que tiene la clave primaria y crear la


relacion...
> >
> > con ALTER TABLE no veo muy clara la instruccion para borrar las


relaciones
> > entre tablas...tieneis algun ejemplo donde borre la clave externa de


una
> > tabla? a traves de transact-sql?
> >
> > muchas gracias..
> >
> >
>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida