Eu quero criar uma função igual às minhas funções antigas.
Quando crio uma tabela, posso usar `AS para outra tabela da seguinte forma:
CREATE TABLE dummy2 AS SELECT * FROM dummy1;
Posso fazer a mesma coisa com funções?
Eu quero criar uma função igual às minhas funções antigas.
Quando crio uma tabela, posso usar `AS para outra tabela da seguinte forma:
CREATE TABLE dummy2 AS SELECT * FROM dummy1;
Posso fazer a mesma coisa com funções?
Você pode jogar alguns jogos com
mysql.proc
, o lar físico de todos os Procedimentos Armazenados e Funções Armazenadas.Primeiro, aqui estão os bancos de dados no meu PC
Vamos criar uma Stored Function no banco de dados
rolando
chamadaGetUnixTimeStamp
:Vamos tentar esculpir a instrução SQL CREATE FUNCTION com base na própria função
O que isso gera?
OK até agora, tudo bem. Vamos mudar o SQL para colocar essa função no banco de dados
david
OK ótimo. Podemos fazer o SQL. Posso executar a criação da nova função???
A função existe???
Maior pergunta de todas: A função recém-copiada é executada???
BOM DIA!!! É assim que você pode copiar uma função de um banco de dados para outro.
PERGUNTA FINAL: Vale a pena tudo isso ???
RESUMO
Aqui está o SQL original para gerar a criação da função
Isso também criará Stored Procedures
Aqui está a operação de cópia, que deve ocorrer no nível do sistema operacional chamando o cliente mysql
Passo 1 : Obtenha o script SQL quando a função/procedimento foi criado
Teremos um resultado parecido com
Etapa 2 .
my_schema_2
ao códigodelimiter $$
$$
Como
Etapa 3 . Execute o script SQL gerado para gerar a função novamente no esquema de destino
my_schema_2
Veja o documento de ajuda aqui