PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Criando novo usuário. #408189

02/10/2011

0

e ai pessoal,
to com o seguinte problema, fiz uma procedure para inserção de novos usuários no banco:


Acontece que no comando GRANT na parte referente a especificação do usuário, ele ta gravando o usuário com nome da variável(v_usuario) e não com o parametro que está sendo passado na procedure, gostaria de saber como faço para que seja gravado o parametro.
Outro probleminha é com a senha, o GRANT também não ta pegando a senha que foi passada como parametro, por que pela sentaxe essa parte tem que estar entre aspas simples, alguém sabe como resolver esse pepino também.



abraços!!!!!!
Denilson Grosa

Denilson Grosa

Responder

Posts

02/10/2011

Denilson Grosa



DELIMITER 

CREATE PROCEDURE cria_usuario(v_nome VARCHAR(45), v_cpf INT(9), v_telefone VARCHAR(13),
v_nivel_usuario INT(2), v_usuario CHAR(8), v_senha VARCHAR(8), v_ativo INT(1))

BEGIN
    DECLARE ´erro_usuario´ CONDITION FOR SQLSTATE 23000;
    DECLARE EXIT HANDLER FOR ´erro_usuario´
    BEGIN
        SELECT Usuário já existente;
    END;
    
    INSERT INTO usuario(nome, cpf, telefone, nivel_usuario, usuario, senha, ativo)
                VALUES (v_nome, v_cpf, v_telefone, v_nivel_usuario, v_usuario, v_senha, v_ativo);
    
    IF (v_nivel_usuario=1) THEN #no caso no novo usuário ser administrador
        GRANT DELETE, INSERT, UPDATE, SELECT
        ON anutric.*
        TO v_usuario IDENTIFIED BY 123456;
    ELSE 
        GRANT SELECT
        ON anutric.*
        TO v_usuario IDENTIFIED BY 123456;
    END IF;
END

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar