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
Subject
Views
Written By
Posted
Procedimiento almacenado para crear usuarios
11872
September 01, 2009 06:51PM
3182
September 02, 2009 02:34AM
2708
September 02, 2009 09:50AM
2820
September 20, 2009 02:11AM
2431
September 20, 2009 10:01AM
4590
September 20, 2009 12:36PM
2691
September 20, 2009 03:47PM
2567
September 20, 2009 09:48PM
4537
September 21, 2009 04:40AM
2587
September 21, 2009 10:10AM
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.