bom dia..
gostava de saber se consigo fazer um execute immediate AAA, onde a expressão AAA terá no seu conteudo um execute immediate?
ou seja na prática, um execute immediate dentro de outro execute immediate, é possivel fazer isto?
cumprientos
Execute Immediate
-
- Rank: Estagiário Júnior
- Mensagens: 2
- Registrado em: Seg, 31 Mar 2008 6:05 am
- Localização: Espinho
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother,
Seguem alguns exemplos de EXECUTE IMMEDIATE:
qualquer coisa, manda ai.
Seguem alguns exemplos de EXECUTE IMMEDIATE:
BEGIN
EXECUTE IMMEDIATE(' declare
v_valor number := 0;
begin
select 1
into v_valor
from dual;
end; ');
END;
-- OU
BEGIN
EXECUTE IMMEDIATE ('ALTER SESSION SET NLS_NUMERIC_CHARACTERS='',.''');
END;
-
- Rank: Estagiário Júnior
- Mensagens: 2
- Registrado em: Seg, 31 Mar 2008 6:05 am
- Localização: Espinho
agradeço a ajuda...
o que queria fazer era mais do tipo, construir um varchar que já tinha um execute immediate e depois ai executar esse execute immediate, do genero:
o que queria fazer era mais do tipo, construir um varchar que já tinha um execute immediate e depois ai executar esse execute immediate, do genero:
declare
vresult varchar2(500);
tst varchar2(250);
tst1 varchar2(250);
tst0 varchar2(250);
begin
tst0 := 'execute immediate ';
tst := 'Begin rotinas_teste.multiplica(5, 4, :outResult); end;';
tst1 := tst0 || ''''|| tst|| '''' || ' using out vresult;';
execute immediate tst1;
end;
-
- Rank: Estagiário Júnior
- Mensagens: 2
- Registrado em: Sex, 13 Jun 2008 9:53 am
- Localização: NOVO HAMBURGO - RS
Alexandre Reis
Desenvolvedor Oracle
Desenvolvedor Oracle
Sim, você pode fazer um execute immediate dentro de outro.
Segue exemplo:
Segue exemplo:
declare
--
vl_comando varchar2(2000);
vl_data date;
--
begin
--
vl_comando :=
'
declare
vl_string varchar2(4000);
begin
vl_string := ''begin select sysdate into :vb_sysdate from dual; end;'';
execute immediate vl_string using out :vb_variavel_bind;
end;
';
execute immediate vl_comando using out vl_data;
--
dbms_output.put_line('vl_data -> ' || vl_data);
--
end;
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 20 visitantes