RELACIONAMENTO - EXCLUSAO EM CASCATA
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.
Imagem da relação
http://img198.imageshack.us/img198/8172/enviarsql.png
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
CLEVERTON na tabela processos_honorarios não esta faltando a chave estrangeira para relacionar com tabela de processos a pai?
aà o link do video, vejam se tem algo de errado
http://www.4shared.com/file/Ggh080Xk/VIDEOSQLRelacao.html
http://www.4shared.com/file/Ggh080Xk/VIDEOSQLRelacao.html
Quem é a PRIMARY KEY da tabela FILHO?
amigo CLEVERTON faça relacionamento pelo DataBase Diagrams que da certo.
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
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!
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!
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