Dae galerinha...td blz... Estou com o seguinte problema e to recorrendo a vcs... Eu costumo fazer esse tipo de procedure no oracle...e sempre ta tudo 100% funcional... Mas agora preciso começar a usar o IB Expert para criar as procedures para a Base em Firebird...e não estou conseguindo montar a procedure abaixo no IB Expert... Alguém pode me ajudar?
Att.: Ricardo CREATE OR REPLACE PROCEDURE "SEL_FUNCIONARIO" ( PFILIAL IN VARCHAR2, PCODIGO IN VARCHAR2, PNOME IN VARCHAR2, IOCURSOR OUT SYS_REFCURSOR ) AS SQL_CONSULTA VARCHAR2(1000); LNOME VARCHAR2(100); BEGIN SELECT REPLACE(PNOME, '+', '%') || '%' INTO LNOME FROM DUAL; SQL_CONSULTA := ' SELECT * '; SQL_CONSULTA := SQL_CONSULTA ||' FROM FUNCIONARIO '; SQL_CONSULTA := SQL_CONSULTA ||' WHERE 1 = 1 '; IF (PFILIAL IS NOT NULL) THEN SQL_CONSULTA := SQL_CONSULTA || ' AND FILIAL= ''' || PFILIAL ''''; END IF; IF (PCODIGO IS NOT NULL) THEN SQL_CONSULTA := SQL_CONSULTA || ' AND CODIGO = ''' || PCODIGO ''''; END IF; IF (LNOME IS NOT NULL) THEN SQL_CONSULTA := SQL_CONSULTA || ' AND LOWER(NOME) LIKE LOWER( '''||LNOME|| ''')'; END IF; SQL_CONSULTA := SQL_CONSULTA || 'ORDER BY NOME '; OPEN IOCURSOR FOR SQL_CONSULTA; END SEL_FUNCIONARIO;