J'utilise Oracle 11g pour mon application Web. Je veux ajouter une colonne et un commentaire à une table existante. Je peux le faire facilement avec les commandes ci-dessous
ALTER TABLE product ADD product_description VARCHAR2(20)
et
COMMENT ON COLUMN product.product_description
IS 'This is comment for the column';
Mais je veux faire la tâche ci-dessus en une seule commande. J'ai cherché sur Internet une commande permettant d'ajouter une colonne et un commentaire en une seule commande, mais je n'ai pas trouvé. Je me demande si c'est possible. Toutes les suggestions seraient très appréciées.
Non, tu ne peux pas.
Il n'y a aucune raison pour que vous deviez le faire. Il s’agit d’une opération unique et ne prend donc qu’une ou deux secondes supplémentaires pour taper et exécuter en réalité.
Si vous ajoutez des colonnes dans votre application Web, cela est plus révélateur d'une faille dans votre modèle de données car vous ne devriez pas avoir à le faire.
En réponse à votre commentaire, un commentaire est un attribut de colonne; cela peut semble donc, mais en coulisse, Oracle le stocke comme attribut d'un objet.
SQL> desc sys.com$
Name Null? Type
----------------------------------------- -------- ----------------------------
OBJ# NOT NULL NUMBER
COL# NUMBER
COMMENT$ VARCHAR2(4000)
SQL>
La colonne est facultative et sys.col$
ne contient pas d'informations de commentaire.
Je suppose, je ne le sais pas, que cela a été fait pour avoir un seul système de traitement des commentaires plutôt que plusieurs.
Vous pouvez utiliser la requête ci-dessous pour mettre à jour ou créer un commentaire sur la table déjà créée.
SYNTAXE:
COMMENT ON COLUMN TableName.ColumnName IS 'comment text';
Exemple:
COMMENT ON COLUMN TAB_SAMBANGI.MY_COLUMN IS 'This is a comment on my column...';
Les requêtes pour ajouter une colonne avec un commentaire sont:
alter table table_name
add( "NISFLAG" NUMBER(1,0) )
comment on column "ELIXIR"."PRD_INFO_1"."NISPRODGSTAPPL" is 'comment here'
commit;