Principales respuestas
Ayuda con INSERT INTO en tabla SQL

Pregunta
-
Hola amigos después de mucho tiempo visitando el foro, tengo un problema con un INSERT INTO ... para una tabla en donde cada vez que deseo insertar un dato me muestra error, les adjunto el Query de la BD para que pueda algún alma caritativa poder ayudarme jejeje...
CREATE TABLE ORIGEN(
CodigoOrig INT Identity,
ID_Ciudad INT,
Direccion Varchar (30),
Telefono Varchar (12)
)
GO
--------------
ALTER TABLE ORIGEN
ADD CONSTRAINT XPKORIGEN PRIMARY KEY CLUSTERED (CodigoOrig ASC)
GO
--------------
ALTER TABLE ORIGEN
ADD FOREIGN KEY(ID_Ciudad)REFERENCES CIUDAD
GO
--------------
CREATE TABLE DESTINO(
CodigoDest INT Identity,
ID_Ciudad INT,
Direccion Varchar (30),
Telefono Varchar (12)
)
GO
--------------
ALTER TABLE DESTINO
ADD CONSTRAINT XPKDESTINO PRIMARY KEY CLUSTERED (CodigoDest ASC)
GO
--------------
ALTER TABLE DESTINO
ADD FOREIGN KEY(ID_Ciudad)REFERENCES CIUDAD
GO
--------------
CREATE TABLE RUTA(
Codigo_Ruta Int Identity,
Id_Origen Int,
Id_Destino Int,
)
GO
--------------
ALTER TABLE RUTA
ADD CONSTRAINT XPKRUTA PRIMARY KEY CLUSTERED (Codigo_Ruta ASC)
GO
--------------
ALTER TABLE RUTA
ADD FOREIGN KEY(Id_Destino)REFERENCES DESTINO
GO
--------------
ALTER TABLE RUTA
ADD FOREIGN KEY(Id_Origen)REFERENCES ORIGEN
GOEs aqui en donde no me permite ingresar los datos y muestra error, previament antes de crear los FK en la tabla Ruta se pueden insertar los datos, pero despues de crear las relaciones con los FK ya no se puede agregar nada...
----TABLA RUTA -----
INSERT INTO RUTA (Id_Origen ,Id_Destino ) VALUES (1,2);
SELECT * FROM RUTA---------------------------------------------------------------------------------------------------------------------------------------
Adicinonalmente dejo el link con mi BD, quizas puedan aportar algunas ideas adicionales para mejora...Gracias.
https://drive.google.com/file/d/0B9ql1wB0CRIEMm1QM1U4SUdjekE/view
Juan Fernando
Respuestas
-
Los valores 1 y 2 corresponden a los identificadores de ciudad 'ID_Ciudad' mas no al código de origen o destino 'CodigoOrig/CodigoDest', nota que dichas columnas son las que participan en la restricción de referencia: FOREIGN KEY.
INSERT INTO RUTA (Id_Origen ,Id_Destino ) SELECT (SELECT CodigoOrig FROM ORIGEN WHERE ID_Ciudad = 1), (SELECT CodigoDest FROM DESTINO WHERE ID_Ciudad = 2)
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.- Propuesto como respuesta Joyce_ACModerator viernes, 23 de junio de 2017 18:07
- Marcado como respuesta Juan_fernando viernes, 23 de junio de 2017 18:11
-
hola, En la tabla destino tiene solo1 registro
CodigoDest ID_Ciudad Direccion Telefono
1 2 Av. Trujillo 2345 074657484Al esta insertando en la tabla ruta con código 2 de la columna Id_Destino, ese valor no existe de la tabla destino
Si pruebas con al cambiar 1 si te va a ingresar
----TABLA RUTA -----
INSERT INTO RUTA (Id_Origen ,Id_Destino ) VALUES (1,1);
SELECT * FROM RUTASi se puede imaginar... se puede programar. Me encanta depender de la tecnología para vengarme de ella y dominarla como los locos.
- Marcado como respuesta Juan_fernando viernes, 23 de junio de 2017 18:11
Todas las respuestas
-
hola, En la tabla destino tiene solo1 registro
CodigoDest ID_Ciudad Direccion Telefono
1 2 Av. Trujillo 2345 074657484Al esta insertando en la tabla ruta con código 2 de la columna Id_Destino, ese valor no existe de la tabla destino
Si pruebas con al cambiar 1 si te va a ingresar
----TABLA RUTA -----
INSERT INTO RUTA (Id_Origen ,Id_Destino ) VALUES (1,1);
SELECT * FROM RUTASi se puede imaginar... se puede programar. Me encanta depender de la tecnología para vengarme de ella y dominarla como los locos.
- Marcado como respuesta Juan_fernando viernes, 23 de junio de 2017 18:11
-
Los valores 1 y 2 corresponden a los identificadores de ciudad 'ID_Ciudad' mas no al código de origen o destino 'CodigoOrig/CodigoDest', nota que dichas columnas son las que participan en la restricción de referencia: FOREIGN KEY.
INSERT INTO RUTA (Id_Origen ,Id_Destino ) SELECT (SELECT CodigoOrig FROM ORIGEN WHERE ID_Ciudad = 1), (SELECT CodigoDest FROM DESTINO WHERE ID_Ciudad = 2)
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.- Propuesto como respuesta Joyce_ACModerator viernes, 23 de junio de 2017 18:07
- Marcado como respuesta Juan_fernando viernes, 23 de junio de 2017 18:11
-
-