IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.
Модератор: kdv
-
mfasakhov
- Сообщения: 5
- Зарегистрирован: 26 май 2005, 14:38
Сообщение
mfasakhov » 22 июл 2005, 09:54
Можно ли передать хранимой процедуре (если да, то как) имя таблицы для того, чтобы ХП делала выборку по заданной таблице?
CREATE PROCEDURE GET_MAX_CODE(??? ?????)
RETURNS (MAX_CODE INTEGER)
AS
BEGIN
SELECT MAX(CODE) FROM ??? INTO MAX_CODE;
SUSPEND;
END
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 22 июл 2005, 10:25
да нафига ж вы такой гадостью то занимаетесь.... почему так ломает запрос с клиента выполнить, что надо такую процедуру писать? Это что, попытка сэкономить, или что?
-
McArty
- Сообщения: 56
- Зарегистрирован: 14 янв 2005, 09:31
Сообщение
McArty » 22 июл 2005, 11:12
mfasakhov писал(а):Можно ли передать хранимой процедуре (если да, то как) имя таблицы для того, чтобы ХП делала выборку по заданной таблице?
CREATE PROCEDURE GET_MAX_CODE(??? ?????)
RETURNS (MAX_CODE INTEGER)
AS
BEGIN
SELECT MAX(CODE) FROM ??? INTO MAX_CODE;
SUSPEND;
END
см.
Execute Statement
-
mfasakhov
- Сообщения: 5
- Зарегистрирован: 26 май 2005, 14:38
Сообщение
mfasakhov » 22 июл 2005, 11:33
Указанная процедура всего лишь пример. Мне впринципе интересно.
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 22 июл 2005, 12:55
вообще - нельзя. но можно в 1.5 через динамическое выполнение запросов (execute statement). Но. exec statement тормозит, потенциально опасен (см. release notes), и развращает.
Уже сам исходный вопрос, про передачу имени таблицы в переменной, настораживает - в консерватории что-то не так.