PostgreSQL : Gestion de la création de table avec "CREATE TABLE IF NOT EXISTS"
Dans PostgreSQL, l'utilisation de "CREATE TABLE IF NOT EXISTS" permet la création de tables sans risque de création de tables en double. Cette fonctionnalité a été introduite dans PostgreSQL 9.1 et facilite la création de tables de manière à garantir leur existence sans qu'il soit nécessaire de vérifier manuellement leur présence.
Syntaxe pour PostgreSQL 9.1 et versions ultérieures
Pour créer une table en utilisant "CREATE TABLE IF NOT EXISTS" dans PostgreSQL 9.1 et versions ultérieures, spécifiez simplement la commande comme suit :
CREATE TABLE IF NOT EXISTS myschema.mytable ( i integer );
Remarque : Remplacez "myschema" et "mytable" par les noms de schéma et de table souhaités.
Solution de contournement pour les anciennes versions
Pour les versions de PostgreSQL antérieures à 9.1, une fonction de contournement peut être utilisée pour obtenir un résultat similaire fonctionnalité. Créez la fonction suivante :
CREATE OR REPLACE FUNCTION create_mytable() RETURNS void LANGUAGE plpgsql AS $func$ BEGIN IF EXISTS (SELECT FROM pg_catalog.pg_tables WHERE schemaname = 'myschema' AND tablename = 'mytable') THEN RAISE NOTICE 'Table myschema.mytable already exists.'; ELSE CREATE TABLE myschema.mytable (i integer); END IF; END $func$;
Appelez la fonction selon vos besoins :
SELECT create_mytable();
Remarques :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!