 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Nancy Invitado
|
Publicado: Jue 19 Sep, 2002 1:06 am Asunto: Crear Stored Procedures en Builder |
|
|
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 |
|
 |
muneco Invitado
|
Publicado: Jue 19 Sep, 2002 11:57 am Asunto: |
|
|
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 |
|
 |
Nancy Invitado
|
Publicado: Jue 19 Sep, 2002 6:48 pm Asunto: ya lo intente |
|
|
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 |
|
 |
TOÑO Master

Registrado: 26 Ago 2002Mensajes: 223Ubicación: Madrid - España -
|
Publicado: Vie 20 Sep, 2002 11:32 am Asunto: |
|
|
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 |
|
 |
Nancy Invitado
|
Publicado: Lun 23 Sep, 2002 10:57 pm Asunto: Ya lo probe toño |
|
|
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 |
|
 |
mgf Invitado
|
Publicado: Mar 24 Sep, 2002 9:58 am Asunto: |
|
|
Hola
prueba a quitarle los dos puntos, yo no se los pongo y me funciona. |
|
| Volver arriba |
|
 |
TOÑO Master

Registrado: 26 Ago 2002Mensajes: 223Ubicación: Madrid - España -
|
Publicado: Vie 27 Sep, 2002 11:19 am Asunto: |
|
|
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 |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|