PROCEDURE MYSQL

FOXMAN 04/03/2010 19:59:12
#336098
Gente é o seguinte;

Na procedure abaixo eu retorno o valor de um campo, porém esse campo eu preciso passar ele através de parametro.

CALL sp_nivelDeAcesso([ô]cxLiberaCliente[ô],[ô]Visualizar[ô],[ô]2310[ô]);
Onde [Ô]cxLiberaCliente[Ô] é o Nome do campo,
Visualizar é o tipo de operação ,
E 1234 é a senha do caboclo.

Abaixo a procedure.

CREATE DEFINER = [ô]root[ô]@[ô]localhost[ô] PROCEDURE 'sp_nivelDeAcesso'(IN s_modulo VARCHAR(50), IN s_operacao VARCHAR(50), IN s_senha VARCHAR(50))
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT [ô][ô]
BEGIN
DECLARE S_USUARIO VARCHAR(50);
SET S_USUARIO = (select mysql.user.user from mysql.user where password(s_senha) = mysql.user.password);

SELECT s_modulo FROM acesso LEFT OUTER JOIN mysql.user
ON (acesso.usuario = (select mysql.user.user from mysql.user where password(s_senha) = mysql.user.password ))
where operacao = s_operacao and usuario = S_USUARIO;
END;


Está Retornando o nome da coluna, qdo deviria retornar o conteudo.


FOXMAN 04/03/2010 20:53:11
#336105
Talvez se alguém souber como posso declarar uma variável do tipo coluna em uma procedure no mysql eu talvez resolva o problema.

Tentei :

DECLARE NomeCampo COLUMN(255); - Não Funcionou

Tentei :

DECLARE NomeCampo COLUMN();- Não Funcionou

Tentei :

DECLARE NomeCampo COLUMN;- Não Funcionou






FOXMAN 05/03/2010 00:36:49
#336134
Problema resolvido....

Explicando novamente a situação.

Eu teria que passar para uma SP o nome do campo , um criterio e a senha para que me fosse retornado o conteúdo de tal campo.

A lógica seria semelhante as regras de privilégios do mysql.

O usuario X no MODULO Y pode fazer Z.

A tabela é assim :


USUÁRIO | OPERAÇÃO | PRODUTOS | CLIENTES | ETC.ETC.ETC.|
JOAO | Excluir | Y | N | Y |


PROBLEMA RESOLVIDO.








Tópico encerrado , respostas não são mais permitidas