[firebase-br] Re.: Utilizar variável Varchar em IN
Carlos H. Cantu
listas em warmboot.com.br
Sáb Jan 18 10:53:43 -03 2020
Não é permitido usar execute block dentro de uma SP.
Você deve estar confundindo execute block com execute statement.
[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
MR> Desculpe mas vem a talho de foice. É possível usar o "Execute
MR> Block" numa Store Procedure. É que aqui estou tentar exemplos da
MR> documentação on line e não consigo compilá-la no entanto se bem
MR> entendi é um comando PLSQL. Alguém me ajuda, preciso usá-lo e não sei como fazê-lo. Obrigado.
MR> Enviado do meu telemóvel Huawei.
MR> -------- Mensagem original --------
MR> Assunto: Re: [firebase-br] Utilizar variável Varchar em IN
MR> De: "Carlos H. Cantu"
MR> Para: FireBase
MR> CC:
MR> Da forma que vc está fazendo não é possível.
MR> Mas vc pode usar o "for execute statement" montando o comando em
MR> runtime. Dependendo você pode tb tentar substituir o "in" por
MR> containing (mas não vai usar índice).
MR> []s
MR> Carlos H. Cantu
MR> eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
MR> www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
CA>> Olá! Seria possível utilizar uma variável do tipo varchar com "IN"
CA>> dentro de uma cláusula "where"?
CA>> Por ex:
CA>> create or alter procedure SP_CONTAS_MOV (
CA>> itiposmov varchar (50)
CA>> ) returns (
CA>> oid integer,
CA>> odescricao varchar(50))
CA>> as
CA>> begin
CA>> for
CA>> select M.ID, M.DESCRICAO
CA>> from CONTAS_MOV M
CA>> where ( (:itiposmov = '') or (M.TIPOMOV in (:itiposmov)) ) -- Aqui
CA>> como ficaria?
CA>> into :oid, odescricao
CA>> do suspend;
CA>> end
CA>> o campo "M.TIPOMOV" é do tipo Integer. Desta forma está dando erro de
CA>> conversão de string.
MR> ______________________________________________
MR> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
MR> Para saber como gerenciar/excluir seu cadastro na lista, use:
MR> http://www.firebase.com.br/fb/artigo.php?id=1107
MR> Para consultar mensagens antigas:
MR> http://www.firebase.com.br/pesquisa_lista.html
MR>
Mais detalhes sobre a lista de discussão lista