Ola a toda a lista,

Estou a tentar fazer funcionar a seguinte função para mover todas as
tabelas de um esquema para outro.
Não obtenho nenhum erro mas no entanto nada é movido.
Peculiaridades: o nome do esquema de origem está em "PascalCase" e o de
destino em minúsculas.

Alguém me pode indicar o que estou a fazer mal?

CREATE OR REPLACE FUNCTION sys_move_tables(sch_from text, sch_to text)
  RETURNS text AS
$BODY$
DECLARE
    row record;
BEGIN
    FOR row IN SELECT tablename FROM pg_tables WHERE schemaname = sch_from
    LOOP
        EXECUTE 'ALTER TABLE ' || sch_from || '.' ||
quote_ident(row.tablename) || ' SET SCHEMA ' || sch_to || ';';
    END LOOP;
RETURN 'Tables were moved';
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;

ALTER FUNCTION sys_move_tables(text, text) OWNER TO postgres;

SELECT sys_move_tables('"OrigEm"', 'destino');

Obrigado. Cumprimentos,

Eloi
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a