ALTER MODEL

Modifie les propriétés d’un modèle existant, y compris son nom, ses balises, sa version par défaut ou son commentaire.

Il existe trois autres variantes de cette commande, à savoir :

Syntaxe

ALTER MODEL [ IF EXISTS ] <name> SET
  [ COMMENT = '<string_literal>' ]
  [ DEFAULT_VERSION = '<version_name>']

ALTER MODEL [ IF EXISTS ] <model_name> SET TAG <tag_name> = '<tag_value>'

ALTER MODEL [ IF EXISTS ] <model_name> UNSET TAG <tag_name> [ , <tag_name> ... ]

ALTER MODEL [ IF EXISTS ] <model_name> VERSION <version_name> SET ALIAS = '<alias_name>'

ALTER MODEL [ IF EXISTS ] <model_name> VERSION <version_or_alias_name> UNSET ALIAS

ALTER MODEL <model_name> RENAME TO <new_name>
Copy

Paramètres

name

Spécifie l’identificateur (c’est-à-dire le nom) du modèle.

Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.

Pour plus d’informations, voir Exigences relatives à l’identificateur.

SET ...

Spécifie une ou plusieurs propriétés de modèle à définir.

COMMENT = 'string_literal'

Définit le commentaire du modèle. Pour ce faire, vous pouvez utiliser la commande COMMENT.

DEFAULT_VERSION = 'version_name'

Définit la version par défaut du modèle (la version sur laquelle les méthodes sont invoquées lors de l’appel d’une méthode directement sur le modèle). Le nom de version est un identificateur.

L’alias système DEFAULT fait référence à la version par défaut.

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

Spécifie le nom de la balise et la valeur de la chaîne de la balise.

La valeur de la balise est toujours une chaîne de caractères et le nombre maximum de caractères pour la valeur de la balise est 256.

Pour plus d’informations sur la spécification des balises dans une instruction, voir Quotas de balises pour les objets et les colonnes.

ALIAS = 'alias_name'

Définit alias_name comme alias de la version. Un alias est un nom alternatif qui peut être facilement réattribué. L’alias peut être utilisé dans la plupart des cas où le nom de version peut être utilisé. Une version peut avoir un seul alias.

Le nom d’alias est un identificateur. Il doit être unique dans le modèle et ne peut pas dupliquer les noms d’alias système, qui sont :

  • DEFAULT fait référence à la version par défaut du modèle.

  • FIRST fait référence à la version la plus ancienne du modèle en fonction du moment de la création.

  • LAST fait référence à la version la plus récente du modèle en fonction du moment de la création.

UNSET TAG tag_name [ , tag_name ... ]

Spécifie une ou plusieurs balises à annuler sur le modèle.

UNSET ALIAS

Supprime l’alias de cette version de modèle, le cas échéant. Les alias système DEFAULT, FIRST et LAST ne peuvent pas être supprimés. Vous pouvez spécifier la version par son nom ou par un alias.

RENAME TO new_name

Renomme le modèle spécifié avec un nouvel identificateur qui n’est actuellement utilisé par aucun autre modèle du schéma.

Pour plus de détails sur les identificateurs, voir Exigences relatives à l’identificateur.

Vous pouvez déplacer l’objet vers une autre base de données et/ou un autre schéma tout en renommant éventuellement l’objet. Pour ce faire, spécifiez une valeur new_name qualifiée qui inclut le nouveau nom de la base de données et/ou du schéma sous la forme db_name.schema_name.object_name ou schema_name.object_name, respectivement.

Note

  • La base de données et/ou le schéma de destination doivent déjà exister. En outre, un objet portant le même nom ne peut pas déjà exister dans le nouvel emplacement ; sinon, l’instruction renvoie une erreur.

  • Le déplacement d’un objet vers un schéma d’accès géré est interdit sauf si le propriétaire de l’objet (c’est-à-dire le rôle qui a le privilège OWNERSHIP sur l’objet) est également propriétaire du schéma cible.

Lorsqu’un modèle est renommé, les autres objets qui le référencent doivent être mis à jour en fonction du nouveau nom.

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette commande SQL doit avoir les privilèges suivants définis au minimum ainsi :

Privilège

Objet

Remarques

OWNERSHIP

Modèle

Un rôle doit se voir accorder le privilège OWNERSHIP ou en hériter sur l’objet pour créer un objet temporaire portant le même nom que l’objet qui existe déjà dans le schéma.

Notez que l’exploitation d’un objet dans un schéma requiert également le privilège USAGE sur la base de données et le schéma parents.

Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.

Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.