Visual Basic.NET - Recuperar Parametros de OUT de oracle

   
Vista:

Recuperar Parametros de OUT de oracle

Publicado por Chema (7 intervenciones) el 16/12/2008 18:09:48
Necesito ayuda, no se como recuperar parámetros de salida de un procedimiento almacenado en oracle.

Tengo la siguiente tabla:

CREATE TABLE Alumnos
(
Matricula VARCHAR(10),
DNI CHAR(10),
Nombre VARCHAR(30),
Apellido VARCHAR(30),
Apellido_2 VARCHAR(30),
Direccion VARCHAR(50),
CP CHAR(5),
Poblacion VARCHAR(50),
Provincia VARCHAR(50),
Activo NUMBER,
FCH_MATRICULACION DATE,

CONSTRAINT PK_Alumnos PRIMARY KEY(Matricula)
)

Con el siguiente Package:

(Me ahorro el poner la cabecera)

CREATE OR REPLACE PACKAGE BODY pkg_alumnos IS

--[------------...hay cosas que no enseño del package...]

FUNCTION CalcularMatricula RETURN VARCHAR
IS
Devolver VARCHAR(10);
aux VARCHAR(4);
matrAnio NUMBER;
BEGIN
SELECT Count(*)+1 INTO matrAnio FROM Alumnos WHERE To_Char(FCH_Matriculacion,'YYYY') LIKE To_Char(SYSDATE,'YYYY');

IF matrAnio>9 THEN
IF matrAnio>99 THEN
IF matrAnio>999 THEN
aux:=To_Char(matrAnio);
ELSE
aux:=Concat('0',To_Char(matrAnio));
END IF;
ELSE
aux:=Concat('00',To_Char(matrAnio));
END IF;
ELSE
aux:=Concat('000',To_Char(matrAnio));
END IF;
Devolver:=Concat(To_Char(SYSDATE,'YY'),aux);
RETURN(Devolver);
END CalcularMatricula;

------------------------------------------------------------------------------
-----------------------------------------------------------------------------
PROCEDURE Alta( dniA IN alumnos.dni%TYPE,
nombreA IN alumnos.nombre%TYPE,
apellidoA IN alumnos.apellido%TYPE,
apellidoAb IN alumnos.apellido_2%TYPE,
direccionA IN alumnos.direccion%TYPE,
cpA IN alumnos.CP%TYPE,
poblacionA IN alumnos.poblacion%TYPE,
provinciaA IN alumnos.provincia%TYPE,
FCH_AltaA IN Estado_Alumno.FCH_Alta%TYPE,
matA OUT Alumnos.Matricula%TYPE)
IS
Valida NUMBER;--para validar los datos
Mat alumnos.matricula%TYPE;--para calcular la cadena
BEGIN
Valida:=ExisteDNI(dniA);
IF Valida=0 THEN
--Mat:=PKG_Alumnos.CalcularMatricula();
--Valida:=PKG_Alumnos.ExisteMat(Mat);
IF Valida=0 THEN
Mat:=CalcularMatricula;
matA:=Mat;
INSERT INTO Alumnos VALUES(Mat,dniA,nombreA,apellidoA,apellidoAb,direccionA,cpA,poblacionA,provinciaA,1,FCH_AltaA);
COMMIT;
--INSERTAMOS EN EL HISTORIAL DEL ALUMNO
INSERT INTO Estado_Alumno(FCH_Alta, Matricula) VALUES (FCH_AltaA,Mat);
COMMIT;
ELSE
Raise_Application_Error(-20012,'Error en la matricula');
END IF;
ELSE
Raise_Application_Error(-20011,'Ya existe el DNI insertado');
END IF;
END Alta;

-----------------------[...HAY MAS COSAS QUE NO ENSEÑO...]
END PKG_Alumnos;

¿Como recupero el parametro de salida de PKG_Alumnos.Alta() ?
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:Recuperar Parametros de OUT de oracle

Publicado por HAY COSAS QUE NO DIGO (1 intervención) el 06/11/2009 20:02:33
HAY COSAS QUE NO RESPONDO
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