Oracle - LISTAR RESULTADO DESDE PROCEDURE

 
Vista:

LISTAR RESULTADO DESDE PROCEDURE

Publicado por Edgar Quispe Manrique (1 intervención) el 26/06/2006 18:59:28
SALUDOS AMIGOS FORISTAS NECESTIO DE SU AYUDA
ESTOY MIGRANDO MI DB SQL SERVER O ORACLE
YA EH MIGRADO TODAS MIS TABLAS EH CREADO PRIMARY KEY, FORING Y VARIAS COSAS AU ME FALTA MUCHISIMO PERO LO QUE ME DA MUCHA MAS INSERTIDUMBRE ES EL PL/SQL SON MUCHAS COSAS DIFERENTES Y ENTRE ELLAS ES LISTAR UN RESULTADO DESDE UN PROCEDURE YA QUE LA MAYORIA DE MIS REPORTES DE MI SISTEMA ESTAN HECHOS EN PROCEDURES DE SQLSERVER
POR EJEMPLO

CREATE PROCEDURE SP_LISTA_ALMACENES @COD_EMPRESA VARCHAR(2)
AS BEGIN

SELECT * FROM TB_ALMACENES WHERE COD_EMPRESA = @COD_EMPRESA

END

POR PONER ESTE EJEMPLO ME ARROJA TODOS LOS ALMACENES DE UNA AMPRESA DETERMINADA ASI DE ESTA FORMA HAGO PROCESOS UNO TABLAS EN FIN VARIAS COSAS PARA BOTAR UN RESULTADIO DE VARIAS LINEAS PARA MI REPORTES

EH ESTADO LEYENDO UN POCO Y EN ORACLE SE TRABAJA CON EL DBMS_OUTPUT
PERO ESO POR LO QUE EH VISTO SE LLENA LINEA LINEA Y NO ME CONVIENE HACER CURSORES PARA MIS REPORTES SE LENTEARIA MUCHO O BUENO NOSE COMO PODRIA SOLUCIONAR ESO

ESPERO ME PUEDAN AYUDAR DE ANTEMANO MUCHAS GRACIAS
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:LISTAR RESULTADO DESDE PROCEDURE

Publicado por dyestrad (8 intervenciones) el 28/06/2006 18:38:09
no se porque dices que "se lentearia mucho" no creo que eso sea muy cierto por un cursor de tal estilo, lo que puedes hacer entonces es:

BEGIN

FOR s IN (SELECT * FROM TB_ALMACENES WHERE COD_EMPRESA = @COD_EMPRESA) LOOP
DBMS_OUTPUT.PUT_LINE(s.nombre_columna1||' ' ||s.nombre_columna2||' etc..');
END LOOP;

END;

si es que aun insistes con no utilizar un cursor; aunque en este caso diria que da igual, solo por orden se veria mejor asi:

DECLARE
CURSOR cursor_ejemplo IS
SELECT * FROM TB_ALMACENES WHERE COD_EMPRESA = @COD_EMPRESA

BEGIN

FOR s IN cursor_ejemplo LOOP
DBMS_OUTPUT.PUT_LINE(s.nombre_columna1||' ' ||s.nombre_columna2||' etc..');
END LOOP;

END;

NOTA: debes poner los nombre de las columnas que deseas imprimir!!!
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:LISTAR RESULTADO DESDE PROCEDURE

Publicado por miguel (66 intervenciones) el 15/07/2006 03:03:08
Solo por comentario recuerda que debes setear una variable de sistema en oracle para que sirva la instruccion DMBS_OUTPUT.PUT_LINE

Es variable esta apagada por defecto, debes buscar el nombre porque nome lo se pero es algo asi como

SET DBMS_SERVER ON
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