Jump to content


Photo

Sql Server


  • Faça o login para participar
5 replies to this topic

#1 cesarhtc

cesarhtc

    Novato no fórum

  • Usuários
  • 18 posts
  • Sexo:Não informado

Posted 30/11/2004, 14:26

Preciso de ajuda, estou fazendo o relacionamento entre 2 Tabelas e me aparece esta mensagem.

Tabela 'Resultado' salva com êxito
Tabela 'ResuItem'
- Não é possível criar o relacionamento 'FK_ResuItem_Resultado'. 
Erro ODBC: [Microsoft][ODBC SQL Server Driver][SQL Server]ALTER TABLE statement conflicted with COLUMN FOREIGN KEY constraint 'FK_ResuItem_Resultado'. The conflict occurred in database 'Publicar', table 'Resultado', column 'ID_Edital'.


Agradeço pela força.
cesarhtc

#2 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 30/11/2004, 14:47

Mostre o código das duas tabelas que esta relacionando e o código da criação do relacionamento.
------
Mero mortal!

#3 cesarhtc

cesarhtc

    Novato no fórum

  • Usuários
  • 18 posts
  • Sexo:Não informado

Posted 30/11/2004, 15:07

As Tabelas são Resultado e Resuitem.

/****** Object:  Table [dbo].[Licita]    Script Date: 30/11/2004 15:56:14 ******/
CREATE TABLE [dbo].[Licita] (
	[ID_Edital] [char] (20) NOT NULL ,
	[NumerodaCP] [nvarchar] (12) NOT NULL ,
	[UF] [nvarchar] (9) NOT NULL ,
	[Modalidade] [nvarchar] (2) NOT NULL ,
	[NL] [nvarchar] (10) NOT NULL ,
	[abertura] [nvarchar] (12) NOT NULL ,
	[hora] [nvarchar] (5) NOT NULL ,
	[Publicar] [nvarchar] (12) NOT NULL ,
	[Objeto] [nvarchar] (250) NOT NULL ,
	[Texto1] [nvarchar] (250) NOT NULL ,
	[Proposta] [nvarchar] (90) NOT NULL ,
	[Status] [nvarchar] (12) NOT NULL ,
	[entrada] [varchar] (50) NOT NULL 
) ON [PRIMARY]
GO

/****** Object:  Table [dbo].[Licita1]    Script Date: 30/11/2004 15:56:15 ******/
CREATE TABLE [dbo].[Licita1] (
	[ID_Edital] [char] (20) NOT NULL ,
	[NU_CP] [nvarchar] (12) NOT NULL ,
	[SG_UF] [nvarchar] (9) NOT NULL ,
	[SG_Modalidade] [nvarchar] (2) NOT NULL ,
	[NU_NL] [nvarchar] (7) NOT NULL ,
	[DT_Abertura] [nvarchar] (12) NOT NULL ,
	[HR_Hora] [nvarchar] (5) NOT NULL ,
	[DT_Publicar] [nvarchar] (12) NOT NULL ,
	[TE_Objeto] [nvarchar] (250) NOT NULL ,
	[TE_Texto1] [nvarchar] (250) NOT NULL ,
	[TE_Proposta] [nvarchar] (90) NOT NULL ,
	[NM_Status] [nvarchar] (12) NOT NULL ,
	[TE_Entrada] [varchar] (50) NOT NULL ,
	[IN_Edital] [UDT_In_edital] NULL ,
	[NU_Matricula] [char] (10) NULL 
) ON [PRIMARY]
GO

/****** Object:  Table [dbo].[ResuItem]    Script Date: 30/11/2004 15:56:15 ******/
CREATE TABLE [dbo].[ResuItem] (
	[ID_Edital] [nvarchar] (50) NOT NULL ,
	[SG_UF] [nvarchar] (9) NOT NULL ,
	[SG_Modalidade] [nvarchar] (2) NOT NULL ,
	[NU_NL] [nvarchar] (7) NOT NULL ,
	[NM_Fornecedor] [nvarchar] (50) NOT NULL ,
	[NU_Item] [nvarchar] (2) NOT NULL ,
	[TE_Objeto] [nvarchar] (100) NOT NULL ,
	[VL_Valor] [nvarchar] (18) NOT NULL ,
	[TE_Entrada] [nvarchar] (50) NOT NULL ,
	[NM_Status] [nvarchar] (12) NOT NULL 
)
GO

/****** Object:  Table [dbo].[Resultado]    Script Date: 30/11/2004 15:56:15 ******/
CREATE TABLE [dbo].[Resultado] (
	[ID_Edital] [nvarchar] (50) NOT NULL ,
	[SG_UF] [nvarchar] (9) NOT NULL ,
	[SG_Modalidade] [nvarchar] (2) NOT NULL ,
	[NU_NL] [nvarchar] (7) NOT NULL ,
	[DT_Publicar] [nvarchar] (12) NOT NULL ,
	[TE_Entrada] [nvarchar] (50) NOT NULL ,
	[NM_Status] [nvarchar] (12) NOT NULL 
) ON [PRIMARY]
GO

/****** Object:  Table [dbo].[RetiEdital]    Script Date: 30/11/2004 15:56:15 ******/
CREATE TABLE [dbo].[RetiEdital] (
	[ID_Edital] [char] (20) NOT NULL ,
	[NU_Edital] [nvarchar] (19) NOT NULL ,
	[SG_UF] [char] (9) NOT NULL ,
	[SG_Modalidade] [char] (2) NOT NULL ,
	[NU_NL] [char] (10) NOT NULL ,
	[NM_Fornecedor] [nvarchar] (71) NOT NULL ,
	[NM_Endereco] [nvarchar] (71) NOT NULL ,
	[NM_Email] [nvarchar] (50) NOT NULL ,
	[NU_CNPJ] [nvarchar] (18) NOT NULL ,
	[NU_Telefone] [nvarchar] (12) NOT NULL ,
	[NU_Fax] [nvarchar] (12) NOT NULL ,
	[NM_Nome] [nvarchar] (50) NOT NULL ,
	[NU_CPF] [nvarchar] (18) NOT NULL ,
	[Dt_RetHora] [nvarchar] (50) NOT NULL 
)
GO

 CREATE  CLUSTERED  INDEX [IX_ResuItem] ON [dbo].[ResuItem]([ID_Edital]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [RetiEdital_Index_1] ON [dbo].[RetiEdital]([ID_Edital], [NU_CNPJ]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Licita] WITH NOCHECK ADD 
	CONSTRAINT [PK_Licita] PRIMARY KEY  NONCLUSTERED 
	(
  [ID_Edital]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[Licita1] WITH NOCHECK ADD 
	CONSTRAINT [PK_Licita1] PRIMARY KEY  NONCLUSTERED 
	(
  [ID_Edital]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[Resultado] WITH NOCHECK ADD 
	CONSTRAINT [PK_Resultado] PRIMARY KEY  NONCLUSTERED 
	(
  [ID_Edital]
	)  ON [PRIMARY] 
GO

cesarhtc

#4 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 30/11/2004, 15:30

Esta faltando alguma coisa no seu script, o erro indica a chave estrangeira FK_ResuItem_Resultado que não consta no seu post.
------
Mero mortal!

#5 cesarhtc

cesarhtc

    Novato no fórum

  • Usuários
  • 18 posts
  • Sexo:Não informado

Posted 01/12/2004, 07:58

Prog,

Quando tento fazer o relacionamento é gerado este codigo:

BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
GO
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
COMMIT
BEGIN TRANSACTION
ALTER TABLE dbo.ResuItem ADD CONSTRAINT
	FK_ResuItem_Resultado FOREIGN KEY
	(
	ID_Edital
	) REFERENCES dbo.Resultado
	(
	ID_Edital
	)
GO
ROLLBACK

Depois vem esta mensagem:

Tabela 'Resultado' salva com êxito
Tabela 'ResuItem'
- Não é possível criar o relacionamento 'FK_ResuItem_Resultado'.  
Erro ODBC: [Microsoft][ODBC SQL Server Driver][SQL Server]ALTER TABLE statement conflicted with COLUMN FOREIGN KEY constraint 'FK_ResuItem_Resultado'. The conflict occurred in database 'Publicar', table 'Resultado', column 'ID_Edital'.


E não consigo gravar o relacionamento.
Confesso que estou começando a conhecer o SQL, no access eu fazia isso na boa.

Cesarhtc
cesarhtc

#6 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 01/12/2004, 10:00

Cara... fiz uns testes aqui num SQL Server local e não constatei o problema, mas percebi que o meu script tinha uma pequena diferença com o seu... que esta justamente nesta parte:

ALTER TABLE [dbo].[Resultado] WITH NOCHECK ADD
CONSTRAINT [PK_Resultado] PRIMARY KEY  NONCLUSTERED
(
[ID_Edital]
)  ON [PRIMARY]
GO


No lugar de NONCLUSTERED veio o parametro CLUSTERED, realmente não sei lhe indicar a diferença tecnica, mas devem haver documentações na internet que falem a respeito.

Se o problema não resolver, volte a postar.
------
Mero mortal!




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq