Script generique drop constraint
Bonjour,
Je souhaite réaliser un script générique permettant de supprimer toutes les contraintes et toutes les tables d'une bdd donnée.
Voici donc le script que j'ai écrit:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
-- Procedure generique pour supprimer toutes les contraintes et toutes les tables
DECLARE tableName varchar(32), constraintName varchar (32);
DECLARE curConstraint CURSOR FOR
SELECT T.TABLE_NAME, T.CONSTRAINT_NAME
FROM information_schema.TABLE_CONSTRAINTS T
WHERE T.CONSTRAINT_CATALOG = 'championnat'
AND T.CONSTRAINT_SCHEMA = 'public'
AND (T.CONSTRAINT_TYPE = 'FOREIGN KEY' OR T.CONSTRAINT_TYPE = 'UNIQUE');
BEGIN;
OPEN curConstraint;
LOOP
FETCH curConstraint INTO tableName, constraintName;
IF NOT FOUND THEN
EXIT; -- exit loop
END IF;
SET SQL = 'ALTER TABLE ' || tableName || ' DROP CONSTRAINT ' || constraintName;
EXEC (SQL);
END LOOP;
END;
CLOSE curConstraint;
DEALLOCATE curConstraint; |
Le problème c'est que ça marche pas ^^.
J'ai l'erreur suivante:
Citation:
ERROR: syntax error at or near "varchar"
LINE 2: DECLARE tableName varchar(32), constraintName varchar (32);
^
********** Erreur **********
ERROR: syntax error at or near "varchar"
État SQL :42601
Caractère : 101
Est ce que quelqu'un à une idée ou a déjà écrit un script équivalent?
Merci.