Ir para conteúdo
Fórum Script Brasil
  • 0

Criar um novo usuário a partir de uma trigger no MySql


Letícia Leite Caetano

Pergunta

Olá, estou tentando criar um novo usuário no MySql a partir de uma trigger. A ideia é que toda vez que eu insira um cliente no banco a trigger seja disparada e execute uma procedure que preencha os campos em uma tabela usuário e também crie este usuário, com as devidas permissões no meu SGBD (MySql).

Abaixo segue minha tentativa, mas da o seguinte erro:

error 1422:  Explicit or implicit commit is not allowed in stored function or trigger.

Notem que nem cheguei a implementar os grants.

DELIMITER $$

CREATE OR REPLACE PROCEDURE TESTE_PROCEDURE (IN CPF VARCHAR(15), IN NOME VARCHAR(20), IN SENHA VARCHAR(20))
BEGIN
   DECLARE USUARIO VARCHAR(30);
   DECLARE SENHA VARCHAR(30);
    
   INSERT INTO USUARIO VALUES('4', NOME, SENHA, CPF);
   
   SET USUARIO = CONCAT(NOME, '@localhost');
   
   CREATE USER USUARIO identified by '111222';
   
   
END $$
DELIMITER ;

DELIMITER $$

CREATE TRIGGER TESTE_INSERCAO AFTER INSERT ON CLIENTE
  FOR EACH ROW
  BEGIN

    CALL TESTE_PROCEDURE(NEW.CPF, NEW.NOME, '123456');
    
  END $$

DELIMITER ;

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...