Créer une table mais Tomber si la table existe déjà
Je suis en train de travailler sur une demande où je dois créer un tableau à insérer des données. Alors, évidemment, j'aurai d'abord avoir un effacement de la table saint. avant de le créer saint. mais quand je suis en cours d'exécution pour la première fois(avant de la table peut être créée), il affichera un message d'erreur indiquant que le tableau ne créé pas, puis crée la table et goe fils à partir d'ici. Donc, à chaque fois tout s'exécute mon code pour la première fois, il fera apparaître cette erreur à la baisse de table st. Ce que quelqu'un a une meilleure idée??
Quelque chose comme "si la table existe, puis déposer le reste de créer la table"
Je ne suis pas sûr de savoir comment allons-nous le faire en sql
Drop table nom_table;--------------> ici, il renvoie une erreur pour la première fois, en disant: la table n'existe pas.
Create table nom_table
{ etc };
Par la façon dont je suis en train de travailler sur Teradata, mais une simple logique sql pourrait l'aider.
Êtes-vous à l'aide de BTEQ ou Assistant SQL?
OriginalL'auteur user1172117 | 2012-02-15
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer une procédure stockée détenue par SYSDBA ou un autre admin utilisateur au niveau adéquat
DROP TABLE
etCREATE TABLE
privilèges qui effectue les opérations suivantes:CREATE TABLE <TargetDB>.<TargetTable> AS <SourceDB>.<SourceTable> WITH DATA AND STATS;
Vous pouvez la rendre plus dynamique en acceptant des paramètres supplémentaires si les données et/ou les statistiques doivent être copiées dans la nouvelle table.
Si vous utilisez BTEQ, vous pouvez faire quelque chose de similaire (BTEQ syntaxe de commande peut être un peu hors, mais assez proche pour obtenir le point à travers):
OriginalL'auteur Rob Paller
Il semble SAS proc sql ne peut pas faire comme en T-SQL directement. De toute façon, vous pouvez écrire une macro pour vérifier si les données existent. Si oui, laissez-la tomber en premier. Puis créer la table. Comme le code suivant.
OriginalL'auteur Pihong Wu
Essayer:
Drop table IF EXISTS table_name;
Et puis continuer avec la création de la table, comme il sera garanti n'existent plus.
Pouvez-vous être plus précis?
TeraData n'a pas cette déclaration.
Eh bien, là vous allez. Le lien Joachim fournis ci-dessus semble être applicable à votre problème.
Drop table if EXISTS table_name; Cela ne fonctionne pas. Je l'ai juste testé sur les TD de version 15.
OriginalL'auteur VeeArr