[firebase-br] Utilizar variável Varchar em IN

Carlos H. Cantu listas em warmboot.com.br
Qui Jan 16 07:54:37 -03 2020


Da forma que vc está fazendo não é possível.

Mas vc pode usar o "for execute statement" montando o comando em
runtime. Dependendo você pode tb tentar substituir o "in" por
containing (mas não vai usar índice).

[]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

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.





Mais detalhes sobre a lista de discussão lista