ALTER MODEL

Modifica as propriedades de um modelo existente, incluindo nome, tags, versão padrão ou comentário.

Existem três outras variantes deste comando, a saber:

Sintaxe

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

Parâmetros

name

Especifica o identificador (ou seja, nome) do modelo.

Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.

Para obter mais informações, consulte Requisitos para identificadores.

SET ...

Especifica uma ou mais propriedades de modelo a serem definidas.

COMMENT = 'string_literal'

Define o comentário do modelo. Isso também pode ser feito usando o comando COMMENT.

DEFAULT_VERSION = 'version_name'

Define a versão padrão do modelo (a versão na qual os métodos são invocados ao chamar um método diretamente no modelo). O nome da versão é um identificador.

O alias do sistema DEFAULT refere-se à versão padrão.

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

Especifica o nome da tag e o valor da cadeia de caracteres dela.

O valor de tag é sempre uma cadeia de caracteres, e o número máximo de caracteres do valor da tag é 256.

Para obter informações sobre como especificar tags em uma instrução, consulte Cotas de tags para objetos e colunas.

ALIAS = 'alias_name'

Define alias_name como um alias da versão. Um alias é um nome alternativo que pode ser facilmente reatribuído. O alias pode ser usado na maioria dos lugares onde o nome da versão pode ser usado. Uma versão pode ter no máximo um alias.

O nome do alias é um identificador. Ele deve ser único no modelo e não pode duplicar os nomes de alias do sistema, que são:

  • DEFAULT refere-se à versão padrão do modelo.

  • FIRST refere-se à versão mais antiga do modelo em termos de tempo de criação.

  • LAST refere-se à versão mais recente do modelo no momento da criação.

UNSET TAG tag_name [ , tag_name ... ]

Especifica uma ou mais tags a serem desativadas no modelo.

UNSET ALIAS

Remove o alias desta versão do modelo, se houver um. Os aliases do sistema DEFAULT, FIRST e LAST não podem ser removidos. Você pode especificar a versão pelo nome ou pelo alias.

RENAME TO new_name

Renomeia o modelo especificado com um novo identificador que não está sendo usado atualmente por nenhum outro modelo no esquema.

Para obter mais detalhes sobre os identificadores de, consulte Requisitos para identificadores.

Você pode mover o objeto para um banco de dados e/ou esquema diferente enquanto opcionalmente renomeia o objeto. Para isso, especifique um valor qualificado new_name que inclua o novo banco de dados e/ou nome do esquema no formulário db_name.schema_name.object_name ou schema_name.object_name, respectivamente.

Nota

  • O banco de dados e/ou esquema de destino já deve existir. Além disso, um objeto com o mesmo nome não pode já existir no banco de dados de destino; caso contrário, a instrução retorna um erro.

  • É proibido mover um objeto para um esquema de acesso gerenciado a menos que o proprietário do objeto (ou seja, a função que tem o privilégio OWNERSHIP sobre o objeto) também possua o esquema de destino.

Quando um modelo é renomeado, outros objetos que fazem referência a ele devem ser atualizados com o novo nome.

Requisitos de controle de acesso

Uma função usada para executar este comando SQL deve ter os seguintes privilégios no mínimo:

Privilégio

Objeto

Notas

OWNERSHIP

Modelo

Uma função deve ser concedida ou herdar o privilégio OWNERSHIP no objeto para criar um objeto temporário com o mesmo nome do objeto que já existe no esquema.

Observe que operar em qualquer objeto de um esquema também requer o privilégio USAGE no banco de dados e esquema principais.

Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.

Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.