[firebase-br] Varrer Banco dados campo VARCHAR e deletar aspas duplas.
Paulo Geloramo
assisinformatica em gmail.com
Sábado Novembro 21 13:15:14 -03 2020
Boa tarde,
Estou fazendo uma EXECUTE BLOCK para percorrer todos os
campos VARCHAR do banco e deletar aspas duplas,
conforme exemplo, está retornando erro abaixo.
Alguma sugestão?
=======
EXECUTE BLOCK
AS
DECLARE T VARCHAR(31);
DECLARE F VARCHAR(31);
DECLARE K CHAR(8) CHARACTER SET OCTETS;
BEGIN
FOR SELECT RDB$RELATION_NAME
FROM RDB$RELATIONS
WHERE RDB$SYSTEM_FLAG = 0 AND RDB$RELATION_TYPE = 0
ORDER BY RDB$RELATION_NAME
INTO :T DO
BEGIN
FOR SELECT R.RDB$FIELD_NAME
FROM RDB$RELATION_FIELDS R
JOIN RDB$FIELDS F ON F.RDB$FIELD_NAME = R.RDB$FIELD_SOURCE
WHERE R.RDB$RELATION_NAME = :T AND F.RDB$FIELD_TYPE = 37
ORDER BY R.RDB$FIELD_POSITION
INTO :F DO
BEGIN
FOR EXECUTE STATEMENT 'SELECT RDB$DB_KEY FROM ' || :T || ' WHERE
' || :F || ' CONTAINING ''"'''
INTO :K DO
BEGIN
EXECUTE STATEMENT 'UPDATE ' || :T || ' SET '|| :F || ' =
REPLACE(' || :T || '.' || :F || ', ''"'', '''') WHERE RDB$DB_KEY = '
|| :K || ';';
END
END
END
END
======
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, column 179.
¤.
=====
--
Paulo Geloramo
www.assisinformatica.com
Mais detalhes sobre a lista de discussão lista