Integridad referencial con fk ciclica

07/12/2007 - 12:25 por Pablo Roca | Informe spam
Hola tengo una tabla de roles, que un registro puede ser padre de otros.
Está creada asi:

CREATE TABLE [dbo].[roles](
[pk_roles_id] [int] IDENTITY(1,1) NOT NULL,
[nombre] [varchar](30) NOT NULL CONSTRAINT [df_roles_nombre] DEFAULT (''),
[fk_pk_roles_id] [int] NULL,
CONSTRAINT [pk_roles_id] PRIMARY KEY CLUSTERED
(
[pk_roles_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[roles] WITH CHECK ADD CONSTRAINT [fk_roles_roles_id]
FOREIGN KEY([fk_pk_roles_id])
REFERENCES [dbo].[roles] ([pk_roles_id])
GO
ALTER TABLE [dbo].[roles] CHECK CONSTRAINT [fk_roles_roles_id]

Si me voy a modificar la relacion, no me deja modificar las reglas de
actualizazion ni eliminacion . Queria ponerlas en cascada.

Alguna pista en lo que tengo mal diseñado o que debo poner?


Saludos,

Pablo Roca
La Coruna - Spain
http://www.portalfox.com
 

Leer las respuestas

#1 Maxi
07/12/2007 - 15:45 | Informe spam
Pablo, intentaste hacerlo con Alter table?


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Pablo Roca" escribió en el mensaje
news:
Hola tengo una tabla de roles, que un registro puede ser padre de otros.
Está creada asi:

CREATE TABLE [dbo].[roles](
[pk_roles_id] [int] IDENTITY(1,1) NOT NULL,
[nombre] [varchar](30) NOT NULL CONSTRAINT [df_roles_nombre] DEFAULT
(''),
[fk_pk_roles_id] [int] NULL,
CONSTRAINT [pk_roles_id] PRIMARY KEY CLUSTERED
(
[pk_roles_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[roles] WITH CHECK ADD CONSTRAINT [fk_roles_roles_id]
FOREIGN KEY([fk_pk_roles_id])
REFERENCES [dbo].[roles] ([pk_roles_id])
GO
ALTER TABLE [dbo].[roles] CHECK CONSTRAINT [fk_roles_roles_id]

Si me voy a modificar la relacion, no me deja modificar las reglas de
actualizazion ni eliminacion . Queria ponerlas en cascada.

Alguna pista en lo que tengo mal diseñado o que debo poner?


Saludos,

Pablo Roca
La Coruna - Spain
http://www.portalfox.com

Preguntas similares