Galera, estou com um problema em PL/SQl e gostaria de saber se alguém que utiliza mais do que eu tem ideia do que pode ser.
DECLARE
CURSOR muns IS
SELECT DISTINCT(codigo) FROM nomes WHERE codigo IS NOT NULL;
mun VARCHAR(100);
BEGIN
FOR mun IN muns LOOP
UPDATE nomes
SET padrao = 2
WHERE objectid in (
SELECT nome.objectid
FROM nomes nome, aca_nome aca
WHERE upper(nome.nome)
LIKE '% '||aca.grafia||' %'
AND codigo = municipio
)
AND padrao <> 7;
COMMIT;
END LOOP;
END;
O erro aparece bem na linha do LIKE, dizendo que nao pode fazer aquilo, porém se eu dou o select normal, fora da estrutura de PL ele roda normalmente.
ORA-06550: line 14, column 25:
PLS-00382: expression is of wrong type
06550. 00000- "line %s, column %s:\n%s"
*cause: Usually a PL/SQL compilation error.
*Action:
Error at line: 9
creio que ele está dando o erro pois estou instanciando o cursor e comparando com string, mas ja tentei converter e nao consegui.