ALTER ROUTINE

ALTER ROUTINE — modifica a definição de uma rotina

Sinopse

ALTER ROUTINE nome​
      [ ( [ [ modo_do_argumento ]​
            [ nome_do_argumento ]​
              tipo_de_dados_do_argumento [, ...] ] ) ]
    ação [ ... ] [ RESTRICT ]
ALTER ROUTINE nome​
      [ ( [ [ modo_do_argumento ]​
            [ nome_do_argumento ]​
              tipo_de_dados_do_argumento [, ...] ] ) ]
    RENAME TO novo_nome
ALTER ROUTINE nome​
      [ ( [ [ modo_do_argumento ]​
            [ nome_do_argumento ]​
              tipo_de_dados_do_argumento [, ...] ] ) ]
    OWNER TO {
        novo_dono
      | CURRENT_ROLE
      | CURRENT_USER
      | SESSION_USER
    }
ALTER ROUTINE nome​
      [ ( [ [ modo_do_argumento ]​
            [ nome_do_argumento ]​
              tipo_de_dados_do_argumento [, ...] ] ) ]
    SET SCHEMA novo_esquema
ALTER ROUTINE nome​
      [ ( [ [ modo_do_argumento ]​
            [ nome_do_argumento ]​
              tipo_de_dados_do_argumento [, ...] ] ) ]
    [ NO ] DEPENDS ON EXTENSION nome_da_extensão

onde ação é uma entre:

    IMMUTABLE | STABLE | VOLATILE
    [ NOT ] LEAKPROOF
    [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
    PARALLEL { UNSAFE | RESTRICTED | SAFE }
    COST custo_de_execução
    ROWS linhas_de_resultado
    SET parâmetro_de_configuração { TO | = } { valor | DEFAULT }
    SET parâmetro_de_configuração FROM CURRENT
    RESET parâmetro_de_configuração
    RESET ALL

Descrição

O comando ALTER ROUTINE altera a definição de uma rotina, que pode ser uma função de agregação, uma função normal, ou um procedimento. Veja em ALTER AGGREGATE, ALTER FUNCTION, e ALTER PROCEDURE a descrição dos parâmetros, mais exemplos, e mais detalhes.

Exemplos

Para mudar o nome da rotina foo para o tipo integer para foobar:

ALTER ROUTINE foo(integer) RENAME TO foobar;

Este comando funciona independentemente de foo ser uma função de agregação, uma função normal, ou um procedimento.

Conformidade

Este comando é parcialmente compatível com o comando ALTER ROUTINE do padrão SQL. Veja ALTER FUNCTION e ALTER PROCEDURE para obter mais detalhes. Permitir que nomes de rotina se refiram a funções de agregação é uma extensão do PostgreSQL.

Veja também

ALTER AGGREGATE, ALTER FUNCTION, ALTER PROCEDURE, DROP ROUTINE

Note que não existe o comando CREATE ROUTINE.