SQL Server - No hay claves principales ni candidatas en la tabla a la que se hace referencia-error sql Mens. 1776

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 3 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

No hay claves principales ni candidatas en la tabla a la que se hace referencia-error sql Mens. 1776

Publicado por Juan (10 intervenciones) el 26/11/2020 15:28:43
Buenas Tardes Amigos.

Comento que me encuentro creando un diagrama de bases de datos, he creado 2 tablas relacionadas, creo la primera sin problemas, y al crear la segunda, me arroja error al referencias a la primera.

Dejo acá el código:

Tabla 1

1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE [dbo].[TBL_AsConDet]
(
	[id] [int]			        IDENTITY(1,1) NOT NULL,
	[folio]				NUMERIC (10) NOT NULL,
	[num_ope]			VARCHAR(15) NOT NULL,
	[oficina]			        NUMERIC(3, 0) NULL,
	[seccion_imputada]         NUMERIC(6, 0) NULL,
	[numero_cta]		        NUMERIC(10, 0) NULL,
	[debe]				NUMERIC(10, 3) NULL,
	[haber]				NUMERIC(10, 3) NULL,
	PRIMARY KEY		([num_ope],[folio]),
	FOREIGN KEY		([folio]) References [TBL_AsCon] (folio)
)


Tabla 2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
CREATE TABLE [dbo].[Tbl_fichaComplementaria]
(
	[idFicha]                       [int] IDENTITY(1,1) NOT NULL,
	[Fecha]                        [date] NULL,
	[folio]                            [numeric](10, 0) NOT NULL,
	[num_ope]                   [varchar](15) NOT NULL,
	[fecha_evento]             [date] NULL,
	[cod_concepto]            [numeric](3, 0) NOT NULL,
	[gls_concepto]             [varchar](50) NULL,
	[gls_desc_aux]             [varchar](400) NULL,
	[montoEvento]             [numeric](13, 0) NULL,
	[idNumOpDeudora]      [varchar](15) NULL,
	[Rut]                             [varchar](11) NULL,
	[ctaResultado]             [CHAR](10) NOT NULL,
	[cod_estado]               [numeric](3, 0) NOT NULL,
	[gls_estado]                 [varchar](20) NULL,
	[seccion_ori]                [numeric](3, 0) NOT NULL,
	[cod_oficina]                [numeric](3, 0) NOT NULL,
    PRIMARY KEY (idFicha,folio,num_ope,cod_estado,cod_oficina,seccion_ori,cod_concepto,ctaResultado),
    FOREIGN key (folio) References tbl_Ascon (folio),
	FOREIGN key ([folio],[num_ope]) References tbl_AsConDet([folio],[num_ope]), --Linea de error
	--FOREIGN key (cod_estado) References Tbl_Parametro (cod_par),
	--FOREIGN key (cod_oficina) References tbl_T103uni(uni_ofi_cod),
	FOREIGN key (seccion_ori) References tbl_seccion(codigo_seccion),
	FOREIGN key (cod_concepto) References tbl_concepto(cod_concepto),
	FOREIGN key (ctaResultado) References tbl_PlanCtas(ccn_num)
)

Linea de error FOREIGN key ([folio],[num_ope]) References tbl_AsConDet([folio],[num_ope])



Muchas Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.521
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

No hay claves principales ni candidatas en la tabla a la que se hace referencia-error sql Mens. 1776

Publicado por Isaias (4240 intervenciones) el 26/11/2020 23:48:51
Antes que otra cosa, ¿Cuál es su motor de base de datos y cual es es texto del error?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 3 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

No hay claves principales ni candidatas en la tabla a la que se hace referencia-error sql Mens. 1776

Publicado por Juan (10 intervenciones) el 27/11/2020 14:05:08
Hola Isaias.

Muchas gracias por tu apoyo. Te comento:

- El motor de base de datos es Sql Server.
- el mensaje de error, es:

Mens. 1776, Nivel 16, Estado 0, Línea 1
No hay claves principales ni candidatas en la tabla a la que se hace referencia ('tbl_AsConDet') que concuerden con la lista de columnas que hace la referencia en la clave externa 'FK__Tbl_fichaComplem__11007AA7'.
Mens. 1750, Nivel 16, Estado 0, Línea 1
No se pudo crear la restricción. Consulte los errores anteriores.


Muchas Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.521
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

No hay claves principales ni candidatas en la tabla a la que se hace referencia-error sql Mens. 1776

Publicado por Isaias (4240 intervenciones) el 01/12/2020 02:48:43
De acuerdo, verifica explícitamente la creacion de los FOREING KEY, estas haciendo referencia columnas que NO EXISTEN.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 3 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

No hay claves principales ni candidatas en la tabla a la que se hace referencia-error sql Mens. 1776

Publicado por Juan (10 intervenciones) el 02/12/2020 02:05:48
Hola Isiias, el error era el siguiete:

CREATE TABLE [dbo].[TBL_AsConDet]
(
[id] [int] IDENTITY(1,1) NOT NULL,
[folio] NUMERIC (10) NOT NULL,
[num_ope] VARCHAR(15) NOT NULL,
[oficina] NUMERIC(3, 0) NULL,
[seccion_imputada] NUMERIC(6, 0) NULL,
[numero_cta] NUMERIC(10, 0) NULL,
[debe] NUMERIC(10, 3) NULL,
[haber] NUMERIC(10, 3) NULL,
PRIMARY KEY ([num_ope],[folio]),
FOREIGN KEY ([folio]) References [TBL_AsCon] (folio)
)

Esta declaración debe ser al revés "PRIMARY KEY ([num_ope],[folio])," ya que en la tabla que se referencia este campo esta llama llamado al reves ([folio, num_ope].

Gracias por tu apoyo.



Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar