ALTER FUNCTION (DMF)¶
Modifica as propriedades de uma função métrica de dados existente (DMF).
Para fazer qualquer outra alteração em uma DMF, você deve descartar a função usando um comando DROP FUNCTION e recriar a DMF.
- Consulte também:
Sintaxe¶
ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
RENAME TO <new_name>
ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
SET SECURE
ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
UNSET SECURE
ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
SET COMMENT = '<string_literal>'
ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
UNSET COMMENT
ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
UNSET TAG <tag_name> [ , <tag_name> ... ]
Parâmetros¶
name
Especifica o identificador da DMF a ser alterada.
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.
TABLE( col_data_type [ , ... ] )
Especifica o tipo de dados do(s) argumento(s) coluna(s) para a DMF. Os tipos de argumento são necessários porque DMFs suportam a sobrecarga de nomes, onde duas DMFs no mesmo esquema podem ter o mesmo nome. Os tipos de dados do argumento são usados para identificar a DMF você quer alterar.
RENAME TO new_name
Especifica o novo identificador para o DMF; a combinação do identificador com os tipos de dados de argumentos existentes deve ser única para o esquema.
Para obter mais informações, consulte Requisitos para identificadores.
Nota
Ao especificar o novo nome para a UDF, não especifique tipos de dados de argumentos ou parênteses; especifique apenas o novo nome.
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áriodb_name.schema_name.object_name
ouschema_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 objeto é renomeado, outros objetos que fazem referência a ele devem ser atualizados com o novo nome.
SET ...
Especifica as propriedades a serem definidas para a DMF:
SECURE
Especifica se uma função é segura. Para obter mais informações, consulte Proteção de informações sensíveis com UDFs e procedimentos armazenados seguros.
COMMENT = 'string_literal'
Adiciona um comentário ou substitui o comentário existente para a função. O valor especificado é exibido na coluna
DESCRIPTION
na saída SHOW FUNCTIONS e SHOW USER FUNCTIONS.
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.
UNSET ...
Especifica as propriedades a serem removidas para a função, o que as restaura para os padrões.
SECURE
COMMENT
TAG tag_name [ , tag_name ... ]
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 |
Função de métrica de dados |
|
APPLY |
Tag |
Permite definir uma tag na DMF. |
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.
Notas de uso¶
Se você quiser atualizar uma função de métricas de dados existente e precisar consultar a definição atual da função, execute o comando DESCRIBE FUNCTION (DMF) ou chame a função GET_DDL.
Em relação aos metadados:
Atenção
Os clientes devem garantir que nenhum dado pessoal (exceto para um objeto do usuário), dados sensíveis, dados controlados por exportação ou outros dados regulamentados sejam inseridos como metadados ao usar o serviço Snowflake. Para obter mais informações, consulte Campos de metadados no Snowflake.
Exemplo¶
Torne a DMF uma DMF segura:
ALTER FUNCTION governance.dmfs.count_positive_numbers(
TABLE(
NUMBER,
NUMBER,
NUMBER
))
SET SECURE;