RELACIONAMENTO - EXCLUSAO EM CASCATA

CLEVERTON 23/05/2010 13:17:07
#342551
olá pessoal, estou tentando fazer uma relação... porém está acontecendo algo estranho, como eu mecho com SQL a pouco tempo não entendo bem, pois faço a mesma operação de uma tabela pai com outra filha.. mais tem uma delas que não funfa
vou deixar aqui o código pra vcs verem.


Tabela Processos ( PAI )

USE [juridico]
GO
/****** Object: Table [dbo].[processos] Script Date: 05/23/2010 12:52:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[processos](
[id] [int] IDENTITY(1,1) NOT NULL,
[idcliente] [int] NOT NULL,
[numproc] [nvarchar](25) COLLATE Latin1_General_CI_AS NULL,
[dataentrada] [datetime] NULL,
[idvara] [int] NOT NULL,
[idcomarca] [int] NOT NULL,
[idacao] [int] NOT NULL,
[autor] [varchar](255) COLLATE Latin1_General_CI_AS NOT NULL,
[reu] [varchar](255) COLLATE Latin1_General_CI_AS NOT NULL,
[anotacoesprocesso] [varchar](1000) COLLATE Latin1_General_CI_AS NULL,
[idescritorio] [int] NOT NULL,
[idtipopgtohonorario] [int] NULL,
CONSTRAINT [PK_processos] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF


Tabela Filho ( Processos_Honorários )


USE [juridico]
GO
/****** Object: Table [dbo].[processos_honorarios] Script Date: 05/23/2010 12:53:10 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[processos_honorarios](
[id] [int] IDENTITY(1,1) NOT NULL,
[idprocesso] [int] NOT NULL,
[idcliente] [int] NOT NULL,
[vencimento] [datetime] NOT NULL,
[valorparcela] [decimal](5, 2) NOT NULL,
[datapgto] [datetime] NULL,
[valorpago] [decimal](5, 2) NULL
) ON [PRIMARY]


========================================================================================
O que eu quero, é que quando eu excluir um registro da tabela Processos, todos os respectivos registros cujos (processos.id=processos_honorarios.idprocesso) ...

mas dá a seguinte mensagem de erro quando eu clico pra relacionar.

Citação:

[ô]processos[ô] table saved successfully
[ô]processos_honorarios[ô] table
- Unable to create relationship [ô]FK_processos_honorarios[ô].
The ALTER TABLE statement conflicted with the FOREIGN KEY constraint [Ô]FK_processos_honorarios[Ô]. The conflict occurred in database [Ô]juridico[Ô], table [Ô]dbo.processos[Ô], column [ô]id[ô].



Imagem da relação
http://img198.imageshack.us/img198/8172/enviarsql.png

JWCELYO 23/05/2010 13:32:55
#342552
CLEVERTON na tabela processos_honorarios não esta faltando a chave estrangeira para relacionar com tabela de processos a pai?
CLEVERTON 23/05/2010 13:33:08
#342553
aí o link do video, vejam se tem algo de errado
http://www.4shared.com/file/Ggh080Xk/VIDEOSQLRelacao.html
TECLA 23/05/2010 14:04:33
#342554
Quem é a PRIMARY KEY da tabela FILHO?
JWCELYO 23/05/2010 14:11:51
#342555
amigo CLEVERTON faça relacionamento pelo DataBase Diagrams que da certo.
JWCELYO 23/05/2010 14:17:28
#342556
Citação:

:
Quem é a PRIMARY KEY da tabela FILHO?


a tabela filho não tem chave primaria não Tecla, mais isto não gera erro o problema esta no modo cascata que ele esta habilitando para atualizar e deletar
CLEVERTON 23/05/2010 14:28:26
#342557
vcs nem vão acreditar... ( perdi três dias nisso ) SQL SERVER 2005 EXPRESS EDITION

eu simplesmente exclui a tabela filho ( processos_honorarios ), recriei da mesma forma com o código SQL copiado... e simplemente consegui fazer a relação .. dá pra acreditar nisso ?

Muito obrigado pela atenção de vcs!
JWCELYO 23/05/2010 14:31:05
#342559
da sim é porque existe uma restrição apos a criação de tabela. mais pode resolvido ser você passa fazer os relacionamentos da sua tabelas DataBase Diagrams
Tópico encerrado , respostas não são mais permitidas