Oracle - lic.

 
Vista:

lic.

Publicado por Luis Raul (1 intervención) el 21/04/2007 00:04:13
alguien me podría ayudar estoy tratando de hacer un Store Procedure y soy nuevo en Oracle, no es complicado pero me marca error y no encuentro la solucion.:

CREATE OR REPLACE PROCEDURE "TVSPOT"."SPU_PAGOSINT"
(Gpo IN INTEGER,
Tip IN INTEGER,
Cve IN INTEGER,
Num IN INTEGER,
Imp OUT NUMBER(17,2)) <---- me marca error en esta línea cuando pongo la definicion de Number y si solo dejo NUMBER no me marca error

AS
BEGIN
SELECT SUM(PLPI_Importe) INTO Imp FROM PLANPAGOSINT
WHERE (PLPI_Grupo = Gpo) AND (PLPI_TipoPlan = Tip) AND (PLPI_ClavePlan = Cve) AND (PLPI_NumeroPlan = Num);
END;
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

RE:lic.

Publicado por mad (88 intervenciones) el 21/04/2007 10:54:50
Como procedimiento no he conseguido crearla, pero como funcion si, si te vale aqui la tienes:

CREATE OR REPLACE FUNCTION SPU_PAGOSINT ( Gpo NUMBER,
Tip NUMBER,
Cve NUMBER,
Num NUMBER ) RETURN NUMBER AS
Imp NUMBER(17,2);
BEGIN

SELECT SUM(PLPI_Importe)
INTO Imp
FROM PLANPAGOSINT
WHERE (PLPI_Grupo = Gpo)
AND (PLPI_TipoPlan = Tip)
AND (PLPI_ClavePlan = Cve)
AND (PLPI_NumeroPlan = Num);

RETURN( IMP );

END SPU_PAGOSINT;

Espero te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:lic.

Publicado por 4fait (16 intervenciones) el 24/04/2007 11:38:04
Hola:

Hasta ahora los 'procedimientos' que he realizado en Oracle, siempre los he tenido que hacer de esa forma, sin "restrigir" el tipo de valor a los parámetros que está esperando.

Es decir, que lo haría así con solo 'Number' y sin ponerle la "restricción" (17,2),
pero de esa forma, te funciona o no????

CREATE OR REPLACE PROCEDURE SPU_PAGOSINT
(Gpo INTEGER, Tip INTEGER, Cve INTEGER, Num INTEGER, Imp OUT NUMBER)
AS
.......
.......
BEGIN
.......
.......
.......

EXCEPTION
.......
.......
END;

* normalmente cuando son parámetros de entrada, no es imprescindible poner el 'IN', en cambio cuando son de salida, es obligatorio poner 'OUT'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar