Fórum Montando meu Select através de condições #387119
24/09/2010
0
--------------------------------------------------------------------------------------
PROCEDURE MINHA_PROC(P_DATA IN TNOTA.DATA%TYPE,
P_CURSOR OUT TYPES.CURSORTYPE)
AS
V_COMMAND VARCHAR(1000);
BEGIN
V_COMMAND := ' SELECT C.RAZAOSOCIAL ';
V_COMMAND := V_COMMAND || ' C.CNPJ ';
V_COMMAND := V_COMMAND || ' FROM TCLIENTES C, ';
V_COMMAND := V_COMMAND || ' TNOTA N ';
V_COMMAND := V_COMMAND || ' WHERE C.CNPJ = N.CNPJ ';
IF (P_DATA IS NOT NULL) THEN
V_COMMAND := V_COMMAND || ' AND N.DATA = P_DATA ';
END IF;
OPEN P_CURSOR FOR V_COMMAND;
END;
----------------------------------------------------------------------------------
Minha dúvida é tem algum modo que posso montar meu select como condiçoes seguindo o exemplo acima sem guardar em uma variavel?????
Diego Lirio
Curtir tópico
+ 0Posts
24/09/2010
Deivison Melo
Gostei + 0
24/09/2010
Deivison Melo
create or replace procedure exec_sql( script_sql varchar2 ) is
v_cursor integer;
v_retorno integer;
begin
v_cursor := dbms_sql.open_cursor;
dbms_sql.parse( v_cursor, script_sql, 1 );
v_retorno := dbms_sql.execute( v_cursor );
dbms_sql.close_cursor( v_cursor );
exception when others then
dbms_sql.close_cursor( v_cursor );
raise_application_error( -20050 , 'erro: '|| sqlerrm);
end;
/*Criando procedure - (fim)*/ /*exemplo de uso - (inicio)
Descrição: nesse exemplo que fiz pra vc eu seto a Linguagem da Máquina para Americana
*/
Exec_Sql('alter session set NLS_DATE_LANGUAGE='||CHR(39)||'AMERICAN'||CHR(39)||' ');
/*exemplo de uso - (inicio)*/ Qualquer coisa estou à disposição!!! Atenciosamente, Emanoel Deivison Recife - PE
Gostei + 0
24/09/2010
Eriley Barbosa
Gostei + 0
24/09/2010
Diego Lirio
MAS AINDA CONTINUO NA DUVIDA....
ANDEI VENDO O TÓPICO NA DEVMEDIA E É BEM PARECIDO COM O EXEMPLO QUE DEI....
QDO USO UMA VARIAVEL DO TIPO CURSOR E ABRE UM SELECT
>>>> OPEN P_CURSOR FOR SELECT * FROM TCLIENTE;
NÃO TENHO DUVIDAS.
MAS QDO PRECISO IR MONTANDO MEU SCRIPT COMO O EXEMPLO QUE DEI. SE TENHO MODIFICAÇÕES OU DAR MANUTENÇÃO AÍ QUE COMEÇA A FICAR ESTREITO.
DEVE HAVER ALGO PARA MONTAR MINHAS CONDIÇOES.....
Gostei + 0
17/09/2014
Deivison Melo
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)