Olá pessoal,
estou com u pequeno problema para concluir uma verificação de minha aplicação. acontece que estou tentando fazer a nivel de banco de dados. o banco utilizado é o oracle 10g, segue dulvida:
tenho o seguinte código
FUNCTION FC_ALTERNA_INSERIR_EDITAR
( v_zona number, v_tipo varchar, v_periodo number )
RETURN varchar
IS
pragma autonomous_transaction;
v_tabela_tipo varchar2(50);
v_retorno varchar2(3);
v_texto varchar2(3);
BEGIN
begin
-- seta os valores de data para validar a inserção ou edição do mes/ano do usuário:
if v_tipo = 'adm' then v_tabela_tipo := 'admzona.new_processos_administrativos';
elsif v_tipo = 'jus' then v_tabela_tipo := 'admzona.new_processos_judiciais';
elsif v_tipo = 'exp' then v_tabela_tipo := 'admzona.new_processos_expedientes';
end if;
-- fim
select decode(a.seq,null,'NAO','SIM') into v_texto
from v_tabela_tipo a
where a.seq = v_zona
and a.mes||a.ano = v_periodo;
v_retorno := v_texto;
return v_retorno;
end;
RETURN v_retorno ;
END;
reparem que existe a variáevel “v_tabela_tipo” onde digo qual tabela será pesquisada dependendo do parametro passado para função.
pergunta existe um geito de inserir esta variável dentro desta instrução ? pois o erro esta ai.
outra informação:
o comando “execut immediate” não funciona, pois preciso setar um valor vindo deste select e quando fica entre aspas simples não rola, também ACHO que o execute immediate não rola com select apenas com isert, update e delete.
o que viocê me dizem???