FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
STORE PROCEDURE "RETURNS".
La verdad me ha costado bastante, hasta que lo he sacado.
Bueno es bastante basico, un procedimiento que devuelve valores. si lo hacemos asi $stmt = " execute PROCEDURE PR1"; $qu = ibase_query($idbase,$stmt); Realiza lo que hay dentro del procedimiento, pero no devuelve valores, ademas ibase_errmsg(); devuelve message length error (encountered 0, expected 8 "depende del valor que debe devolver") la forma que creo que es la correcta es la siguiente: $qu= ibase_query($idbase,'select * from PR2'); $row= ibase_fetch_row($qu); echo $row["0"], $row["1"]; El procedimiento de pruebas. SET TERM @ CREATE PROCEDURE PR1 RETURNS (DES CHAR(20) ,COD INTEGER) AS BEGIN DES = "HOLA"; COD = 2; insert into uno (codigo,descripcion) values (:COD,ES); SUSPEND; ->es obligatorio END @ Tabla create table uno ( codigo integer, descripcion char(25) ); SI se le quiere pasar algun valor $stmt = " select * from PR2 ('MAMA') "; $qu = ibase_query($idbase,$stmt); El procedimiento SET TERM @ CREATE PROCEDURE PR2 (descrip char (25)) RETURNS (DES CHAR(20) ,COD INTEGER) AS BEGIN DES = "HOLA"; COD = 2; insert into uno (codigo,descripcion) values (:COD,:descrip); SUSPEND; END @ Pues nada eso es todo, agradeceria cualquier comentario sobre el codigo. |
|
|
|