PessoALL... Estou criando um script que tem por objetivo me retornar os nomes e as quantidades de objetos de um determinado schema... No entanto ele apresenta um erro, quando da execução do script....
O script é como segue: DECLARE v_otype VARCHAR2(20) := '&tipo'; v_oname VARCHAR2(30); v_qtde NUMBER; v_ver BOOLEAN; v_fim EXCEPTIONS; CURSOR c_rel_objetos IS SELECT object_type, object_name FROM user_objects WHERE object_type = v_otype; CURSOR c_qtde_objetos IS SELECT COUNT(object_type) FROM user_objects WHERE object_type = v_otype; BEGIN SELECT COUNT(object_type) INTO v_qtde FROM user_objects WHERE object_type = v_otype; IF v_qtde = 0 THEN v_ver := FALSE; RAISE v_fim; ELSIF v_qtde > 0 THEN v_ver := TRUE; END IF; OPEN c_rel_objetos; LOOP FETCH c_rel_objetos INTO v_otype, v_oname; EXIT WHEN c_rel_objetos%NOTFOUND; DBMS_OUTPUT.PUT_LINE(v_otype||' - '||v_oname); END LOOP; CLOSE c_rel_objetos; OPEN c_qtde_objetos; FETCH c_qtde_objetos INTO v_qtde; DBMS_OUTPUT.PUT_LINE('SÃO '||v_qtde||' '||v_otype||'(S) NO TOTAL!'); CLOSE c_qtde_objetos; EXCEPTION WHEN v_qtde = 0 THEN v_ver := FALSE; DBMS_OUTPUT.PUT_LINE('NÃO EXISTE OBJETOS DESTE TIPO NO SEU DOMÍNIO!'); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SQLERRM); END; / Como se pode perceber, quando da execução do script, é passado um parâmetro (que é o tipo de objeto que eu quero) e ele retorna os nomes dos objetos que são daquele tipo específico e ainda me dá o total de objetos daquele tipo específico... No entanto, quando ao rodar este script ele me retorna o seguinte erro, utilizando como exemplo o parâmetro PROCEDURE: Informe o valor para tipo: PROCEDURE antigo 2: v_otype VARCHAR2(20) := '&tipo'; novo 2: v_otype VARCHAR2(20) := 'PROCEDURE'; WHEN v_qtde = 0 * ERRO na linha 54: ORA-06550: linha 54, coluna 13: PLS-00103: Encontrado o símbolo "=" quando um dos seguintes símbolos era esperado: . then or Quem puder ajudar, agradeço! Atenciosamente, Matheus Malta [As partes desta mensagem que não continham texto foram removidas]