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 

Crear Stored Procedures en Builder

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Crear Stored Procedures en Builder Responder citando

Rolling Eyes Hola a todos:
Estoy haciendo una aplicaion en Builder que maneja bases de datos en Interbase y uno de los requisitos es construir Base de datos en tiempo de ejecución. Con eso no he tenido problemas crear la base de datos y las tablas pero necesito insertar tambien en cada base de datos que creo los scripts de Stored procedures y Triggers.

Alguien podria ayudarme? es de vida o muerte.

De antemano les agradesco.
Volver arriba
Mensaje    Asunto: Responder citando

Hola, yo no lo he hecho con interbase sino con oracle.
Lo que hago es con un command le pongo en el sql lo de crear el procedimiento "create procedure................" y luego ejecuto el command.
Con interbase creo que no hay lo del Command pero a lo mejor lo puedes hacer con el IBQuery o algún otro.

Si funciona me gustaría me lo dijeras.
Ta luego.
Volver arriba
Mensaje    Asunto: ya lo intente Responder citando

Como dije anteriormente ya creo la base de datos y las tablas y domininios a traves de Builder y el TIBQuery de IBX pero con los stored procedures y triggers no puedo porque tengo cambiar el caracter de terminación ";" y me manda un error justamente aqui:

SET TERM ^;

y por ello no funciona el script a traves del cual los creo.
Volver arriba
Mensaje    Asunto: Responder citando

HOLA:

En mi scrip no tengo puesto el set term, simplemente pongo un END ;
y funciona perfectamente


CREATE PROCEDURE PR_PR (COD integer)
as
declare Variable Cont integer;
begin
WHILE (:Cont < :COD) DO
BEGIN
Cont = Cont + 1;
Insert into REG (CODIGO,VELOCIDAD)
VALUES(:Cont,:COD);
END
end ; @


Fijate que utilizo la @ como finalizacion del procedimiento, por supuesto cuando lanzo la query con el scrip no incluyo la @

By.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Ya lo probe toño Responder citando

Gracias toño por tu ayuda:

Pero fijate que estoy metiendo las actualizaciones en el stored procedure tal y como me dijiste mi stored es el siguiente:

CREATE PROCEDURE Sp_GDetalleCompra (PREFDOCCOMPRA INTEGER, PNUMLINEA INTEGER, PREFINVENTARIO INTEGER,
PCANTIDAD INTEGER, PPRECIO DECIMAL (15,5), PDESCUENTO DECIMAL (10,5),
PIMPUESTO DECIMAL (10,5), PREFORDEN INT )
AS

BEGIN

INSERT INTO DETALLECOMPRA (REFDOCCOMPRA, NUMLINEA, REFINVENTARIO, CANTIDAD, PRECIO, DESCUENTO, IMPUESTO, REFORDEN)
VALUES (:PREFDOCCOMPRA, :PNUMLINEA, :PREFINVENTARIO, :PCANTIDAD, :PPRECIO, :PDESCUENTO, :PIMPUESTO, :PREFORDEN);
END@

el problema es que al correrlo como que el Interbase intenta interpretar las variables y me almacena lo siguiente en la BD:

CREATE PROCEDURE Sp_GDetalleCompra (PREFDOCCOMPRA INTEGER, PNUMLINEA INTEGER, PREFINVENTARIO INTEGER,
PCANTIDAD INTEGER, PPRECIO DECIMAL (15,5), PDESCUENTO DECIMAL (10,5),
PIMPUESTO DECIMAL (10,5), PREFORDEN INT )
AS

BEGIN

INSERT INTO DETALLECOMPRA (REFDOCCOMPRA, NUMLINEA, REFINVENTARIO, CANTIDAD, PRECIO, DESCUENTO, IMPUESTO, REFORDEN)
VALUES (?,?,?,?,?,?,?,?);
END@

y logicamente mi script truena despues porque no reconoce el caracter ? que interbase supone es un valor.

¿Que podria estar mal?
Volver arriba
Mensaje    Asunto: Responder citando

Hola
prueba a quitarle los dos puntos, yo no se los pongo y me funciona.
Volver arriba
Mensaje    Asunto: Responder citando

HOLA:

Pues a simple vista no tendria por que funcionarte mal, mira a ver si el DataBase Dialect = 1.

De todas formas yo llamo scrip a un fichero texto, que desde mi aplicacion leo para crear las bases de datos mediante un clase TQuery, tu llamas script a lo mismo supongo.

By.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
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.