![]() |
Crear Procemiento Almacenado
He estado buscando esta misma pregunta, pero no he visto
la forma que se ha resolvido, pues haciendo lo mismo me sigue haciendo lo mismo estoy trabajando con Interbase, concretamente con una herramienta que trae que se llama -Intearactiv SQL- IBConsole - introduzco este codigo Incluso trate de hacer esto...
Pero me da exactamente el mismo error, no entiendo la verdad!! y me da el siguiente error Código PHP:
|
he modificado para hacer otra prueba tal que.
y me sigue dando el mismo error ?? SQL error code = -104 Unexpected end of command Statement: CREATE PROCEDURE examplex (the_namex CHAR(80)) RETURNS ( THE_RETURNx INTEGER) AS BEGIN THE_RETURNx=GEN_ID(PRO_ID_GEN,1) Sabiendo que el Generador CREATE GENERATOR "PRO_ID_GEN"; esta creado y dispone de valor Grachia!! |
No estoy seguro que ese sea el problema pero fijandome en lo que yo he hecho veo unas diferencias prueba asi:
tengo entendido que suspend se utiliza cuando esperas devolver algo para indicar que termino la sentencia o algo por el estilo prueba y avisas |
Además, para llamar a ese SP tendrás que usar un Query así:
y abrir la consulta (Open), ya que es un procedimiento almacenado de selección y no de acción. Saludos |
Gracias a todos, por las posibles respuestas.
eduarcol el ejemplo que das
Al ejecutar este da el mismo error de siempre Código:
Dynamic SQL Error q no dudo, que puede influir para otras cosas.
El tema esta en indicar o dilimitar cuando empieza el procedimiento y cuando terminal, por defecto en interbase acaba en el ultimo punto y coma pero como veis en el primer ejemplo, no lo debe controlar muy bien, por eso lo que se hace es cambiar el delimitador de fin de procedimiento por un caracter un poco "más desconocido o no usado", en este caso es el ^, ojo importante al final del ultimo END, del procedimiento poner el ^ ya que si no estaria dando el mismo error de siempre. Esto de controlar el fin del procedimiento , parece que INTERBASE lo lleva muy a raja tabla!!., y la verdad no se pq no acaba en el ultimo END, que seria lo más lógico. |
La franja horaria es GMT +2. Ahora son las 12:43:45. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi