У меня есть хранимая процедура с именем create_new_db (p VARCHAR (45)) в mysqldb. Синтаксис следующий.
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `create_new_db`( p VARCHAR(45))
BEGIN
CREATE SCHEMA IF NOT EXISTS p DEFAULT CHARACTER SET latin1 ;
-- -----------------------------------------------------
-- Table `p`.`events`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS p.events ( yada, yada, ...)
Когда я вызываю хранимую процедуру, используя
Call mysqldb.create_new_db('new_db_name');
Процедура выполняется, база данных и таблицы создаются, но параметр, который я передаю, НЕ доступен. Созданная база данных называется p, а не параметром name, который я передаю процедуре
Я попытался назначить параметр глобальной переменной в скрипте
@P = p;
Затем я вижу, что имя параметра, которое я передаю в процедуру, попадает в хранимую процедуру, но почему это не работает ??
Я, вероятно, здесь упускаю что-то очевидное, но ... была бы признательна за помощь.