MySQL Forums
Forum List  »  Spanish

Procedimiento almacenado para crear usuarios
Posted by: Jorge Jaen
Date: September 01, 2009 06:51PM

Quisiera saber si dentro de un procedimiento almacenado hay alguna manera de otorgar accesos a los usuarios a través de la sentencia Grant, bueno de hecho ya hice la prueba y si se puede, solo que son sentencias estaticas, es decir no se pueden meter variables para el nombre de usuario y host por ejemplo.


el siguiente procedimiento almacenado lo tome en base a un post que encontre en un foro de por aqui,

DELIMITER $$

DROP PROCEDURE IF EXISTS `test`.`spTest`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `spTest`( varLogin char(16), varPassword
char(64) )
BEGIN
GRANT USAGE ON test.* TO varLogin@localhost IDENTIFIED BY '1234';
END$$

DELIMITER ;

Este procedimiento no me genera error al momento de crearlo ó ejecutarlo. sin embargo el nombre del usuario lo toma literalmente como viene el nombre del parametro "varLogin" y no el valor que trae.

Por ejemplo si quiero crear u otorgar accesos al usuario jjaen mando llamar el procedimiento de la siguiente manera

mysql> call sptest('jjaen','localhost');
Query OK, 0 rows affected (0.09 sec)

Sin embargo en vez de crearme un usuario 'jjaen' me crea el usuario 'varLogin' (el nombre del parametro definido en el procedimiento almacenado).

tambien intente tambien crear una sentencia Grant a travez de "Prepare Statements" pero la sentencia prepare no soporta el uso de Grant.

Si me pudieran ayudar de antemano gracias

Options: ReplyQuote


Subject
Views
Written By
Posted
Procedimiento almacenado para crear usuarios
11872
September 01, 2009 06:51PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.