FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
llamar procedimiento dentro de otro procedimiento
Hola a todos como están chicos?
Trabajando un poco e tratado de realizar consultas, insert, update con procedimientos Almacenados, leyendo un poco dentro del foro había pensado en realizar dos procedimientos por aparte en firebird 2.5 para una consulta capturando el id y luego otro procedimiento para insertar. pero leyendo un poco me percate que se puede llamar el procedimiento de consulta dentro de un procedimiento para que inserte la consulta lo trate de hacer pero aun no logro correrlo correctamente: Procedimiento de Consulta:
Procedimiento que llama al procedimiento de consulta
Alguien podría orientarme que pasará? Saludos novato_erick |
#2
|
||||
|
||||
Creo que te falta el suspend del primero.
|
#3
|
|||
|
|||
lo extraño es que con el suspend es lo mismo...
cuando ingreso el numero de identificacion me manda este error... Cita:
creo que el parametro dd debe ser el que trae el id del retorno del procedimiento de consulta... Saludos Última edición por Casimiro Notevi fecha: 27-10-2012 a las 20:33:12. |
#4
|
||||
|
||||
¿Pero consultacedula devuelve algo?, ¿lo has probado?
|
#5
|
||||
|
||||
Por cierto, le sobra el "dos puntos" a dd
EXECUTE procedure CONSULTACEDULA(:Cedula) RETURNING_VALUES :dd; EXECUTE procedure CONSULTACEDULA(:Cedula) RETURNING_VALUES dd; |
#6
|
|||
|
|||
Si lo he probado y solamente ejecutando el de consulta no hay problema se me ocurria talvez haciendo esto a ver dime si me equivoco porque tampoco me hace nada:
Probe de esa manera pero me manda error. Saludos |
#7
|
||||
|
||||
Bastante difícil es poder ayudar sin ver ni tocar, si además dices cosas como esta:
Entonces la ayuda se vuelve casi imposible, ¿qué error? |
#8
|
|||
|
|||
Ok lo deje asi:
Pero me manda este error: Cita:
pero me manda ese error... Saludos |
#9
|
||||
|
||||
Hola, pero ¿has comprobado que consultacedula devuelve un valor correcto?.
No pregunto si existe el empleado en la tabla, pregunto si el procedure devuelve el valor correctamente. |
#10
|
|||
|
|||
Exacto casimiro el procedimiento de consulta si devuelve el valor correcto en este caso es el valor 1 como entero.
|
#11
|
||||
|
||||
Y si ejecutas "a mano" este insert, con el valor '1', tal y como dices, ¿qué resultado obtienes?
Sustituye las variables por valores que sabes que existen y prueba. |
#12
|
|||
|
|||
Cita:
|
#13
|
|||
|
|||
En realidad ya habia hecho un scrip realizando la consulta y luego haciendo el insert todo me salio bien por eso quise realizar el procedimiento almacenado ya que por lo general siempre voy a tener que realizar la consulta de empleado para agregar datos a diferentes tablas pero siempre necesitare ese id del empleado.
saludos pd: e aqui el link cuando realice la consulta http://www.clubdelphi.com/foros/showthread.php?t=81195 |
#14
|
|||
|
|||
Vuelvo a empezar a ver en que parte me estoy equivocando:
Este es mi procedimiento de Consulta:
No hay problema ya que si funciona correctamente ahora hago prueba haciendo esto: y lo hace me devuelve mi id; ahora el procedimiento para llamar a consulta y realizar insercion:
es aqui donde no se que pasa ya que en el primer parametro me pone 1 parametro: ID_EMPL = 2 Parametro: HOJADVIDA = 3 Parametro: FOTO = 4 Parametro: CED = 5 Parametro: TITULOS = 6 Parametro: REFERENCIAS = 7 Parametro: RP = 8 Parametro: EXAM = En fin no me hace el Excecute para devolver el valor y ponerlo en el primer parametro que es id_empl |
#15
|
||||
|
||||
Cita:
|
#16
|
|||
|
|||
Cita:
y entiendo que cuando ejecuto el excecute el id debe de traerlo retornado... pero no sucede eso... |
#17
|
|||
|
|||
Creo que me estoy metiendo en camisa de once varas...
|
#18
|
||||
|
||||
Veamos, he hecho un ejemplo muy, muy simple:
Tengo un par de tablas:
Creo un par de stored procedure, uno llama al otro, retorna un valor y es usado para insertar en otra tabla
Como ves, el procedure BB1 llama al procedure AA1 con el parámetro '5' y devuelve el campo ID de la otra tabla La tabla ejemplo tiene el registro: id 1 value1 5 etc. Ejecuto el mismo;
Y si miro la tabla ejemplo2 tiene el registro insertado con el valor correspondiente, id=1 |
#19
|
||||
|
||||
Pero si antes has dicho que sí devuelve el valor, que lo has comprobado
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Llamar un procedimiento desde otro | martini002 | Varios | 2 | 02-06-2012 05:58:12 |
condicionar un procedimiento dentro de otro procedimiento | yossi | Varios | 7 | 17-05-2010 10:47:14 |
procedimiento dentro de procedimiento | chechu | Varios | 6 | 24-11-2005 23:34:48 |
Ayuda, como llamar a un procedimiento desde otro procedimiento? | Ariatna | Varios | 1 | 01-02-2005 04:05:35 |
llamar procedimiento | cmgenny | Varios | 2 | 12-08-2003 00:28:13 |
|