PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Puis-je tronquer des tables dynamiquement ?

Vous avez besoin de SQL dynamique avec EXECUTE si vous souhaitez passer des identifiants (ou des parties de ceux-ci) en tant que paramètres :

CREATE OR REPLACE FUNCTION f_trunc(pos text)
 RETURNS void AS
$func$
BEGIN
EXECUTE format('TRUNCATE %I', massive_table_ || pos);
END
$func$ LANGUAGE plpgsql;

Voici deux réponses connexes avec beaucoup d'explications et de liens :