Ceci fonctionne Si j'utilise un nom de table réelle plutôt que le nom de la variable (: TNAME) dans les deux instructions.
CREATE PROCEDURE Make_Snap(in :TName VARCHAR(20)); BEGIN DROP TABLE IF EXISTS :TName; select * into :TName from Inventory_mstr; END;
3 Réponses :
Réponse courte est que votre syntaxe est incorrecte. Omniprésente ne prend pas en charge le s'il existe code> de cette manière.
Vous utiliserez quelque chose comme:
C'est ce que j'ai enfin obligé de travailler:
Voici un autre exemple qui est censé fonctionner, même si je ne l'ai pas encore testé:
CREATE PROCEDURE Make_Snap(in :TName VARCHAR(20)); BEGIN Exec('DROP Table IF EXISTS "' + :TName + '"') ; Exec('select * into "' +:TName + '" from Inventory_Mstr'); End
Duplicaté possible de Comment Puis-je vérifier si une procédure stockée existe dans la base de données omniprésente avant de la créer?