CREATE [AGGREGATE] FUNCTION nome_função RETURNS {STRING|REAL|INTEGER}
SONAME nome_bibliot_compartilhada
DROP FUNCTION function_name
Uma função definida pelo usuário (user-definable function -
UDF) é um modo de extender o MySQL com uma nova função que
funciona como funções nativas do MySQL tais como
ABS() e CONCAT().
AGGREGATE é uma nova opção do MySQL
Versão 3.23. Uma função AGGREGATE funciona
exatamente como uma função GROUP nativa do
MySQL como SUM ou COUNT().
CREATE FUNCTION salva o nome e o tipo da
função e o nome da biblioteca compartilhada na tabela do
sistema mysql.func. Você deve ter
privilégios INSERT e
DELETE no banco de dados
mysql para criar e deletar funções.
Todas as funções ativas são recarregadas a cada vez que o
servidor é reiniciado, a menos que você reinicie o
mysqld com a opção
--skip-grant-tables. Neste caso, a
inicialização de UDF é ignorada e as UDFs estão
indisponíveis. (Uma função ativa é aquela que foi carregada
com CREATE FUNCTION e não foi removida com
DROP FUNCTION.)
Para instruções sobre como escrever funções denidas por
usuários, veja Secção 14.2, “Adicionando Novas Funções ao MySQL”. Para o
mecanisnmo UDF funcionar, as funções dever ser escritas em C
ou C++, seu sistema operacional deve suporta carregamento
dinâmico e você deve compilar o mysqld
dinamicamente (e não estaticamente).
Note que para fazer AGGREGATE funcioanr,
você deve ter uma tabela mysql.func que
contém a coluna type. Se você não tem esta
tabela, você deve executar o script
mysql_fix_privilege_tables para criá-la.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
