Power Builder - Procedimiento Almacenado

 
Vista:

Procedimiento Almacenado

Publicado por Will (12 intervenciones) el 17/07/2006 18:01:55
Mi problema es el siguiente:

Quiero hacer un procedimiento almacenado en una base de datos en WATCOM SQL 4.0, y trabajo con PowerBuilder 4 y 6.5. El Procedimiento es el siguiente:

CREATE PROCEDURE cfactura (IN empresa CHAR(2), IN mes INT, IN anno INT, IN fcorte DATE, IN frainicial INT, IN mensaje CHAR(250), OUT i INT)
BEGIN
SELECT count(cod_socio) INTO vcantidad FROM "DBA"."ac_socios" AS S WHERE (S.id_empresa = empresa) AND (S.causal3 <> 'S');
DECLARE errorr EXCEPTION FOR SQLSTATE '02000';
DECLARE c1 CURSOR FOR CALL tsocios(empresa);
DECLARE vcantidad INT;
DECLARE vcod_socio CHAR(15);
DECLARE vnombre CHAR(50);
DECLARE vapellido CHAR(50);
DECLARE vparedon CHAR(1);
DECLARE vsuspendido CHAR(1);
DECLARE vcambiocateg CHAR(1);
DECLARE vcategoria CHAR(2);
SET i=1;
OPEN c1;
xxx:
LOOP
FETCH NEXT c1 INTO vcod_socio, vnombre, vapellido, vparedon, vsuspendido, vcambiocateg, vcategoria;
IF SQLSTATE = errorr THEN
LEAVE xxx;
END IF
SET i=i+1;
END LOOP xxx;
CLOSE C1;
END

...Y ya hice este que es llamado desde el anterior:

CREATE PROCEDURE tsocios(IN empresa CHAR(2))
BEGIN
SELECT cod_socio,nom_socio,ape_socio,causal_inactivo,causal2,causal4,id_categoria FROM "DBA"."ac_socios" AS S WHERE (S.id_empresa = empresa) AND (S.causal3 <> 'S');
END

...Este último si me lo creó, pero el primero no, me presenta un error que dice:

Syntax error near 'DECLARE'

Lo estudio por todos lados y realmente no sé a que se refiere, puesto que creo que todo está bien. Yo se que para crear el procedimiento debo colocar como comando delimitador otro que no sea 'punto y coma', yo he colocado el antislash '\'. Me parece que todo está bien, pero que quiere decir el error? No se.

Me podrían dar una manito?

Muchisimas gracias....

WILL...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder