[firebase-br] Campo Boolean em Procedure no Firebird 1.5

Luis Almeida jrcosmolui em yahoo.com.br
Sáb Jan 19 14:42:37 -03 2008


Amigo obrigado, mas também deu error, então fiz assim:
Onde diz declarando a variável GU_CONSULTAR coloquei
do tipo CHAR(1), aí passou, mas não sei se estou
fazendo certo, ainda estou estudando tudo relativo a
banco de dados e procedures é uma delas.

CREATE PROCEDURE PROC_VERIFICA_ACESSO_MENU (
 CODUSUARIO INTEGER, CODMENU INTEGER)
RETURNS (CONSULTAR CHAR(1))
AS
DECLARE VARIABLE GU_CONSULTAR CHAR(1);
 BEGIN
   CONSULTAR = 'F';
   FOR SELECT PU_CONSULTAR FROM PERMISSOES_USUARIOS
     WHERE USU_CODIGO = :CODUSUARIO AND
     MEN_CODIGO = :CODMENU
   UNION
   SELECT PG_CONSULTAR FROM PERMISSOES_GRUPOS
     WHERE GRU_CODIGO IN (
     SELECT GRU_CODIGO FROM GRUPOS_USUARIOS
      WHERE USU_CODIGO = :CODUSUARIO) AND
      MEN_CODIGO = :CODMENU
   INTO :GU_CONSULTAR
   DO
   BEGIN
     IF (:GU_CONSULTAR = 'T') THEN
     BEGIN
       CONSULTAR = 'T';
       EXIT;
     END 
   END 
 END



--- Magno System <magno em speet.com.br> escreveu:

> GU_CONSULTAR LOGICO está sem underline. Coloque
> underline ou retire o 
> espaço.
> 
> EMPRESA: Marcelo Guimarães Nogueira
> NOME FANTASIA: Magno System
> ENDEREÇO: Rua Oliveira Leite, 66 - Centro - Passa
> Quatro - MG
> EMAIL: magno em speet.com.br
> CNPJ: 07.693.076/0001-99
> 
> Marcelo Guimarães Nogueira
> Magno System (Empresa Desenvolvedora de Software)
> ----- Original Message ----- 
> From: "Paulo S X Soares" <paulosoares.br em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Friday, January 18, 2008 9:54 AM
> Subject: Re: [firebase-br] Campo Boolean em
> Procedure no Firebird 1.5
> 
> 
> Considero a falta de boolean uma limitação grotesca
> do Fb. Mas, em vez de
> criar um domínio (não sou muito adepto de
> personalização a esse extremo, a
> não ser em casos que realmente façam diferença),
> prefiro usar uma forma
> nativa, por exemplo CampoX='S' ou CampoX='N'.
> 
> 
> Em 18/01/08, Luis Almeida <jrcosmolui em yahoo.com.br>
> escreveu:
> >
> > Amigos, como uso um campo boolean em uma procedure
> no Firebird 1.5?
> >
> > Estou estudando a edição nº 76 da ClubDephi que
> ensina o Controle de
> > Acesso de usuário, mas não estou conseguindo cria
> essa procedure. Estava
> > lendo que não tem campo boolean no Firebird 1.5 Eu
> posso criar um domínio,
> > e usar em uma procedure.
> >
> >
> > CREATE PROCEDURE PROC_VERIFICA_ACESSO_MENU (
> > CODUSUARIO INTEGER, CODMENU INTEGER)
> > RETURNS (CONSULTAR CHAR(1))
> > AS
> > DECLARE VARIABLE GU_CONSULTAR LOGICO;
> > BEGIN
> > CONSULTAR = 'F';
> > FOR SELECT PU_CONSULTAR FROM PERMISSOES_USUARIOS
> > WHERE USU_CODIGO = :CODUSUARIO AND
> > MEN_CODIGO = :CODMENU
> > UNION
> > SELECT PG_CONSULTAR FROM PERMISSOES_GRUPOS
> > WHERE GRU_CODIGO IN (
> > SELECT GRU_CODIGO FROM GRUPOS_USUARIOS
> > WHERE USU_CODIGO = :CODUSUARIO) AND
> > MEN_CODIGO = :CODMENU
> > INTO :GU_CONSULTAR
> > DO
> > BEGIN
> > IF (:GU_CONSULTAR = TRUE) THEN
> > BEGIN
> > CONSUTAR = 'T';
> > EXIT;
> > END
> > END
> > END
> >
> >
> > ESTE É O ERRO:
> >
> >   Invalid token.
> > Dynamic SQL Error.
> > SQL error code = -104.
> > Token unknown - line 5, char 31.
> > LOGICO.
> > _________________
> > LUIS JR
> >
> >
> > Luis Jr
> >
> >
> > ---------------------------------
> > Abra sua conta no Yahoo! Mail, o único sem limite
> de espaço para
> > armazenamento!
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em
> www.locador.com.br
> > Para editar sua configuração na lista, use o
> endereço
> >
>
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > Para consultar mensagens antigas:
> http://firebase.com.br/pesquisa
> >
> 
> 
> 
> -- 
> ___________________________________
> *** Paulo Sergio Xavier Soares ***
> Skype: Allumo, E-mail: paulosoares.br em gmail.com,
> MSN: paulosxs em yahoo.com.br
> Consultor em Informatica
> Matematica - UEM
> 
> Obs: Se o seu leitor de e-mail não estiver
> configurado para emitir resposta
> automática do recebimento, favor responder essa
> mensagem para o confirmar.
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em
> www.locador.com.br
> Para editar sua configuração na lista, use o
> endereço 
>
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas:
> http://firebase.com.br/pesquisa
> 
> 
> -- 
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.5.516 / Virus Database: 269.19.6/1230 -
> Release Date: 17/1/2008 
> 16:59
> 
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em
> www.locador.com.br
> Para editar sua configuração na lista, use o
> endereço
>
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas:
> http://firebase.com.br/pesquisa
> 



      Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento!
http://br.mail.yahoo.com/




Mais detalhes sobre a lista de discussão lista