ALTER ROUTINE — modifica a definição de uma rotina
ALTER ROUTINEnome [ ( [ [modo_do_argumento] [nome_do_argumento]tipo_de_dados_do_argumento[, ...] ] ) ]ação[ ... ] [ RESTRICT ] ALTER ROUTINEnome [ ( [ [modo_do_argumento] [nome_do_argumento]tipo_de_dados_do_argumento[, ...] ] ) ] RENAME TOnovo_nomeALTER ROUTINEnome [ ( [ [modo_do_argumento] [nome_do_argumento]tipo_de_dados_do_argumento[, ...] ] ) ] OWNER TO {novo_dono| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER ROUTINEnome [ ( [ [modo_do_argumento] [nome_do_argumento]tipo_de_dados_do_argumento[, ...] ] ) ] SET SCHEMAnovo_esquemaALTER ROUTINEnome [ ( [ [modo_do_argumento] [nome_do_argumento]tipo_de_dados_do_argumento[, ...] ] ) ] [ NO ] DEPENDS ON EXTENSIONnome_da_extensãoondeaçãoé uma entre: IMMUTABLE | STABLE | VOLATILE [ NOT ] LEAKPROOF [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER PARALLEL { UNSAFE | RESTRICTED | SAFE } COSTcusto_de_execuçãoROWSlinhas_de_resultadoSETparâmetro_de_configuração{ TO | = } {valor| DEFAULT } SETparâmetro_de_configuraçãoFROM CURRENT RESETparâmetro_de_configuraçãoRESET ALL
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.
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.
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.
Note que não existe o comando CREATE ROUTINE.