Таблица - аргумент хранимой процедуры

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

Re: Таблица - аргумент хранимой процедуры

Сообщение 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

Указанная процедура всего лишь пример. Мне впринципе интересно.

mfasakhov
Сообщения: 5
Зарегистрирован: 26 май 2005, 14:38

Сообщение mfasakhov » 22 июл 2005, 11:57

Так и не понял зя или низя :(

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 22 июл 2005, 12:55

вообще - нельзя. но можно в 1.5 через динамическое выполнение запросов (execute statement). Но. exec statement тормозит, потенциально опасен (см. release notes), и развращает.

Уже сам исходный вопрос, про передачу имени таблицы в переменной, настораживает - в консерватории что-то не так.

mfasakhov
Сообщения: 5
Зарегистрирован: 26 май 2005, 14:38

Сообщение mfasakhov » 22 июл 2005, 14:28

Понял, спасибо.

Ответить