Ir ao conteúdo
  • Cadastre-se

Letícia Leite Caetano

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

posts postados por Letícia Leite Caetano

  1. 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 ;

     

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!