Boa tarde a todos. Minha tabela o campo CNPJ é VARCHAR2. Quando monto minha view da forma abaixo. E a tabela view não reconhece como Number o campo CNPJ, e portanto toda a consulta feita neste campo retorna como null, já um select all retorna o CNPJ. CREATE OR REPLACE FORCE VIEW "SAC"."CLIENTE" ("CNPJ", "NOME", "ENDERECO") AS SELECT TO_NUMBER(CNPJ), NOME, ENDERECO FROM ( SELECT * FROM ( SELECT CONCAT ('1',L_CLI.CGC) CHAVE, REPLACE(REPLACE(REPLACE(L_CLI.CGC,'.',null),'/',null),'-',null) CNPJ, L_CLI.NOME NOME, L_CLI.END ENDERECO, FROM L.CLIENTE L_CLI, L.REPRESENTANTE L_REP, L.SUPERVISOR L_SUP WHERE L_CLI.CODREP = L_REP.CODIGO AND L_REP.SUPERVISOR = L_SUP.CODIGO ) ); Criei outra VIEW com declare set serverout on; DECLARE var_CNPJ number ; BEGIN SELECT CNPJ INTO var_CNPJ FROM ( SELECT REPLACE(REPLACE(REPLACE(L_CLI0A0.CGC,'.',null),'/',null),'-',null) cnpj, L_CLI.NOME NOME, L_CLI.END ENDERECO, FROM L.CLIENTE L_CLI, L.REPRESENTANTE L_REP, L.SUPERVISOR L_SUP WHERE L_CLI.CODREP = L_REP.CODIGO AND L_REP.SUPERVISOR = L_SUP.CODIGO and rownum < 6 ); END; / Mas esta aparece a mensagem ORA-01422: exact fetch returns more than requested number of rows. Verificando a mensagem no metalink, existe um bug para minha versão que é 10.1.0.2.0. E lá existe uma outra forma de fazer que é: DECLARE TYPE NumList IS TABLE OF NUMBER; TYPE NameList IS TABLE OF VARCHAR2(15); empnos NumList; enames NameList; sals NumList; BEGIN EXECUTE IMMEDIATE 'SELECT empno, ename FROM emp' BULK COLLECT INTO empnos, enames; DBMS_OUTPUT.PUT_LINE('Empployess collected = '||empnos.count); END; / ============ Alguém consegue VER uma solução para a criação de uma VIEW????? Obrigado a todos W.Pedroti
[As partes desta mensagem que não continham texto foram removidas]