Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Insertar datos con clave foranea!

Estas en el tema de Insertar datos con clave foranea! en el foro de Bases de Datos General en Foros del Web. Amigos les cuento estoy creando un procedimiento almacenado donde tengo que ingresar un producto y este producto tiene dos claves foraneas "id_usuario_alta" "id_usuario_baja" . Donde ...
  #1 (permalink)  
Antiguo 21/04/2016, 13:17
 
Fecha de Ingreso: abril-2016
Mensajes: 4
Antigüedad: 8 años
Puntos: 0
Insertar datos con clave foranea!

Amigos les cuento estoy creando un procedimiento almacenado donde tengo que ingresar un producto y este producto tiene dos claves foraneas "id_usuario_alta" "id_usuario_baja" . Donde la logica es que el sistema ingrese automaticamente el id del usuario cuando crea el producto, en este caso id_usuario_alta y tambien ingrese automaticamente cuando un usuario de de baja un producto por cualquier razon y en este caso seria "id_usuario_baja" cuando intento ejecutar el procedure me salen error
en las claves foraneas ... esta bien este codigo o hay algo malo desde ya muchas gracias!


create or replace procedure insertar_Prodcuto
(

nombre_producto varchar2,
tipo_producto varchar2,
fecha_ingreso date,
detalle varchar2,
disponible char1,
anotaciones varchar2,
id_usuario_alta number,
id_usuario_baja number
)
is
begin
insert into producto values(secuencia_producto.nextval,nombre_producto, tipo_producto,fecha_ingreso, detalle,disponible,anotaciones,id_usuario_alta,id_ usuario_baja);
end insertar_producto;
  #2 (permalink)  
Antiguo 21/04/2016, 13:58
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Insertar datos con clave foranea!

Aqui como estas manejando el usuario de baja? si lo dan de alta no puede tener un usuario de baja automatico o si???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 21/04/2016, 14:32
 
Fecha de Ingreso: abril-2016
Mensajes: 4
Antigüedad: 8 años
Puntos: 0
Respuesta: Insertar datos con clave foranea!

Cuando es creado le paso la clave foranea a id_usuario_alta y cuando es dado de baja obviamente le doy el id_usuario_baja (son los dos opcional )
  #4 (permalink)  
Antiguo 21/04/2016, 14:41
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Insertar datos con clave foranea!

Y cual es la estructura de tus tablas? si tienes problemas con las llaves foraneas quiere decir que los valores de usuario alta y usuario baja no son opcionales estan marcados en la tabla como NOT NULL o me equivoco???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 21/04/2016, 14:42
 
Fecha de Ingreso: abril-2016
Mensajes: 4
Antigüedad: 8 años
Puntos: 0
Respuesta: Insertar datos con clave foranea!

Pero quiero saber si el bloque de codigo esta bien para insertar una persona y los dos ultimos con clave foranea ?

java.lang.NullPointerException
java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (ADMINISTRADOR.RELATION_6) violated - parent key not found
ORA-06512: at "ADMINISTRADOR.INSERTAR_PRODUCTO", line 14

Ese es el error que me da desde java! entonces es problema de las FK en este caso id_usuario_alta,id_ usuario_baja
  #6 (permalink)  
Antiguo 21/04/2016, 14:46
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Insertar datos con clave foranea!

el codigo esta bien siempre y cuando le pases los 2 codigos, ahora tu problema radica en que quieres insertar un usuario(alta o baja) que no esta en la tabla de usuarios, por eso te estoy pidiendo la estructura de tus tablas
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 21/04/2016, 15:02
 
Fecha de Ingreso: abril-2016
Mensajes: 4
Antigüedad: 8 años
Puntos: 0
Respuesta: Insertar datos con clave foranea!




Etiquetas: clave, fecha, sistema
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:54.