Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Firebird Procedimientos

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Firebird Procedimientos Responder citando

intento crear procedimientos almacenados en Firebird desde EMS (versión evaluación) o desde IBEasy+ però siempre tengo el mismo error al intentar compilar

fmCompile.quCompile:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 5, char 25.
;.

Alguien me puede ayudar . Gracias. Uso una versión de Firebird 1.5 release candidate 1 , que por cierto no atino a desinstalar para poder instalar de nuevas.
Volver arriba
Mensaje    Asunto: Responder citando

podrias enviar el codigo del porcedimiento, por que yo siempre los realizo sin ningun problema...
_________________

Trigger Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: El codigo Responder citando

BEGIN
SELECT * FROM tabla1
END

Por ejemplo. Si lo usas normalmente me puedo aprovechar un poco de tu experiencia?
Me gustaria saber que pasa con los autonumericos pueden tener el mismo nombre en tablas diferentes? si tienes algun manual de uso o dirección que me impida molestar más también de lo agradeceria.

Ah y gracias.
Volver arriba
Mensaje    Asunto: Responder citando

Dame tu email y te envio una base de datos de ejemplo donde genero los autonumericos y triggers con procedimientos

Por cierto ya esta en la Web el FireBird RC8 y el IBexpert 3

Ok
_________________

Trigger Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Gracias Responder citando

Acabo de registrarme para poder enviar mi correo.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Dudas Responder citando

IBexpert 3 en versión ??

En IBEasy+ no trabajas pues?

ok instale la RC 8 !!
Volver arriba
Mensaje    Asunto: Responder citando

CREATE PROCEDURE PROC_1
AS
begin
SELECT ARTI_NOMBRE FROM articulo
end

intento y...

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 5, char 1.
end.

Que me falta en el procedimiento?
Volver arriba
Mensaje    Asunto: Responder citando

HOLA:

En un procemiento almacenado no te dejara hacer un select libremente, ya que no tiene sentido, otras cosas que si puedes hacer es selecionar unos regs con alguna finalidad, leete los manuales de SQL.

Tambien le tienes que indicar la linea de finalizacion de sentencia ;
y la linea de final de ejecucion (set term ).

set term !!
CREATE PROCEDURE PROC_1
AS
declare variable cod integer ;
begin
select sum (codigo) from articulos where codigo < 10 into :cod;
end ; !!




set term !!
CREATE PROCEDURE PROC_1
AS
begin
delete from articulos;
end ; !!


By.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola, el compilador espera cierto tipo sentencias que tengan sentido en el contexto de un procedimiento almacenado, una seleccion por si sola no tiene sentido si no hacemos nada con ella.

Por otra parte, aunque no he usado IBEasy ni EMS creo que debe especificarse al compilador de alguna manera que no intente ejecutar las clausulas una por una, sino como un todo, en ISQL que es la herramienta que suelo usar pues viene en la instalacion de IB se emplea la sentencia:
Set Term seguido del caracter o juego de caracteres que deseemos utilizar en lugar del punto y coma.

A continuacion pongo un procedimiento que lee todos los articulos de la tabla y los escribe en otra, pudieramos poner una condicion en la seleccion para que fuese mas logica por ej. los articulos que esten por debajo de cierto stock..
sin embargo no lo hare para que sea mas entendible el ejemplo...
Código:
set term ^; /*Cambiamos el caracter de terminacion por este improbable acento*/
CREATE PROCEDURE PROC_1
AS
declare variable ARTICULO varchar(20);/*En esta Variable guardaremos momentaneamente el nombre*/
begin
for SELECT ARTI_NOMBRE FROM articulo into :ARTICULO /*Bucle para recorrer los resultados de la query*/
 do
 Begin
  Insert into OTRA_TABLA (ARTICULO) values(:ARTICULO);
 End

end ^
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.