Ir para conteúdo
Fórum Script Brasil
  • 0

Varialvel não esta armazenando valor


nsouza

Pergunta

Colegas,

criei a função abaixo mas os valores parecem que não estão sendo guardados dento das variaveis,

se eu chamar select fu_permissao(7,'I'), era para retornar a mensagem Acesso negado a inclusão já que

este usuario não tem acesso para incluir , porém não acontece isso. Como faço para guardar os valoes S e N dentro

das variaveis marcadas abaixo?

Obrigado

CREATE OR REPLACE FUNCTION fu_permissao(pidusuario dm_inteiro, popr dm_opr)

RETURNS void AS

$BODY$

DECLARE v_count integer;

DECLARE v_incluir char(1);

DECLARE v_alterar char(1);

DECLARE v_excluir char(1);

DECLARE v_visualizar char(1);

DECLARE v_imprimir char(1);

BEGIN

-- Selecione as permissões do usuário

select u.status,a.incluir,a.alterar,a.excluir,a.visualizar,a.imprimir

from tb_usuario u inner join tb_nivel_acesso a on u.tipo_acesso = a.tipo_acesso

where u.idusuario = pidusuario and u.status = 'S'

into v_incluir, v_alterar, v_excluir, v_visualizar, v_imprimir;

-- Retorna a quantidade de linhas para liberação de acesso

select count(1)

from tb_usuario

where idusuario = pidusuario

and status = 'S'

into v_count;

if (v_count = 0) then

raise notice 'Não é permitida nenhuma operação para este usuário.

Solicite a liberação para o o administrador do sistema';

exit;

end if;

--**************************************************************************************************

-- Controla o acesso do usuário

if ((popr = 'I') and (v_incluir = 'N')) then

raise notice 'Acesso negado a inclusão';

exit;

end if;

if ((popr = 'A') and (v_alterar = 'N')) then

raise notice 'Acesso negado a alteração';

exit;

end if;

if ((popr = 'E') and (v_excluir = 'N')) then

raise notice 'Acesso negado a exclusão';

exit;

end if;

if ((popr = 'V') and (v_visualizar = 'N')) then

raise notice 'Acesso negado a visualização';

exit;

end if;

if ((popr = 'P') and (v_imprimir = 'N')) then

raise notice 'Acesso negado a impressão';

exit;

end if;

END;

$BODY$

LANGUAGE 'plpgsql'

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...