Форум: "Начинающим";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];
ВнизПередача в хранимую процедуру имени таблицы Найти похожие ветки
← →
mefodiy (2008-07-16 22:42) [0]Создаю хранимую процедуру:
CREATE PROCEDURE DbName.MyProc
(IN f_table VARCHAR(20))
SELECT * FROM f_table;
Но когда вызываю ее:
CALL DbName.MyProc("Vendor");
то получаю ошибку
"Table DbName.f_table doesn"t exists".
Что, нельзя передавать в ХП имя таблицы как параметр, или я что-то не так делаю?
Спасибо.
← →
mefodiy (2008-07-16 22:43) [1]Да, забыл сказать, что использую MySQL.
← →
Правильный$Вася (2008-07-16 23:01) [2]не знаю, как в MySQL, но в нормальных серверах нельзя, т.к. сервер при компиляции ХП не может проверить корректность запроса
если MySQL Поддерживает динамический SQL внутри типа EXECUTE STATEMENT, то можно попробовать
← →
turbouser © (2008-07-16 23:35) [3]
> mefodiy (16.07.08 22:42)
Стоит заметить, что такие вопросы возникают при неправильном проектировании.
Естественно, есть исключения, но врядли в этом случае.
← →
Anatoly Podgoretsky © (2008-07-17 22:50) [4]> turbouser (16.07.2008 23:35:03) [3]
> Стоит заметить, что такие вопросы возникают при неправильном проектировании.
такие вопросы возникают при неправильном выборе профессии.
← →
stas © (2008-07-17 23:00) [5]В Mssql это можно сделать, но не совсем так просто, в My - незнаю
← →
mefodiy (2008-07-19 12:25) [6]Нашел в интернете следующее простое решение:
CREATE PROCEDURE DbName.MyProc
(IN f_table VARCHAR(20))
BEGIN
SET @s=CONCAT("SELECT * FROM ",f_table);
PREPARE stmt FROM @s;
EXECUTE stmt;
END
← →
turbouser © (2008-07-19 12:27) [7]
> mefodiy (19.07.08 12:25) [6]
Всеравно в консерватории бардак.
← →
Правильный$Вася (2008-07-20 19:59) [8]
> следующее простое решение:
в нормальных условиях такие танцы нужны только для черезчур вывихнутых ситуаций
а когда эта вывихнутость превращается в в обыденность, то [7]
← →
ЮЮ © (2008-07-21 04:47) [9]> Нашел в интернете следующее простое решение:
А дополнение к этому решению не предлагают, типа
CALL DbName.MyProc("Vendor DELETE FROM Vendor")
← →
mefodiy (2008-07-21 20:12) [10]Оценил всеобщее остроумие!
← →
ПРавильный$Вася (2008-07-21 20:16) [11]
> Оценил всеобщее остроумие!
ты не на форму смотри, а на содержание
зри, как грится, в корень!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.043 c