Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2014, 19:16   #1
Muramidaza
Пользователь
 
Регистрация: 08.01.2014
Сообщений: 53
По умолчанию Добавление пользователя через хранимую процедуру

Написал такую хранимку:

Код:
CREATE DEFINER = `root`@`localhost` PROCEDURE `ADD_USER` 
( IN `UserLogin` VARCHAR( 40 ) , IN `UserParol` VARCHAR( 40 ) ) 
NOT DETERMINISTIC NO SQL SQL SECURITY DEFINER 

BEGIN 
DECLARE str1 VARCHAR( 40 ) ;
DECLARE str2 VARCHAR( 40 ) ;
SET Str1 = UserLogin;
SET Str2 = UserParol;
GRANT ALL PRIVILEGES ON bdapteka . * TO Str1 IDENTIFIED BY 'Str2';
SELECT Str1, Str2;
END
Запускаю процедуру - ввожу параметры (Nadya, 1234), оператор Select выдает:

Str1 Str2
Nadya 1234

То есть параметры принимаются. Но создается пользователь Str1 с паролем Str2. Пользователь создается командой GRANT. Что за паранормальное явление? Select же выводит то что надо. В запросе GRANT используются те же параметры. GRANT не понимает что это были переменные. Вроде синтаксис правильный. СУБД MySQL 5.5.25.

Добавил переменные и оператор Select для того чтобы посмотреть - принимаются ли процедурой переменные.

Последний раз редактировалось Muramidaza; 18.03.2014 в 19:31.
Muramidaza вне форума Ответить с цитированием
Старый 18.03.2014, 21:55   #2
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Честно не чего не понятно ....
1. Пользователь создается командой GRANT Не , не... GRANT нечего не создают. это часть DCL (Data Control Language) ( GRANT and REVOKE ) Пожалуйста не обижайтесь ! Вопрос не понятно и код тоже.....
xxbesoxx вне форума Ответить с цитированием
Старый 18.03.2014, 22:41   #3
Muramidaza
Пользователь
 
Регистрация: 08.01.2014
Сообщений: 53
По умолчанию

Цитата:
Сообщение от xxbesoxx Посмотреть сообщение
Честно не чего не понятно ....
1. Пользователь создается командой GRANT Не , не... GRANT нечего не создают. это часть DCL (Data Control Language) ( GRANT and REVOKE ) Пожалуйста не обижайтесь ! Вопрос не понятно и код тоже.....
Прошу прощения. Я тоже читал, что нет, но пользователь создается, как ни странно... MySQL 5.5.25
Muramidaza вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление пользователя в беседу lypyotr Общие вопросы Delphi 1 03.09.2013 18:38
Добавление Пользователя в группы ActiveDirectory Claster Помощь студентам 1 08.10.2012 12:47
Оформить процедуру и функцию в виде модуля пользователя и файла Anny_Apple Паскаль, Turbo Pascal, PascalABC.NET 6 13.03.2011 14:24
Добавление повего пользователя Tanya881103 SQL, базы данных 0 11.06.2010 12:03
добавление через хранимую процедуру пауэрлифтинг БД в Delphi 2 27.05.2010 16:21