![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как передать имя таблицы в процедуру? [D7, FireBird 1.5]
Kodla © (2005-12-15 09:45:00)Добрый день.
Создаю процедуру
---------
CREATE PROCEDURE "AAA" (TAB_NAME VARCHAR(20))
AS BEGIN
SELECT T.* FROM TAB_NAME T ...
----------
ну и т.д.
Ругается что нет такой таблицы.
Что не так?
Kodla (2005-12-15 10:30:00) [1]To unknown ©
БОЛЬШОЕ спасибо!
unknown (2005-12-15 10:02:00) [2]:) Нельзя так делать.
Можно конечно извратиться через execute statement, но его,
по слухам, в следующей версии может и не быть.
Вобщем вот:
CREATE PROCEDURE GET_X (
A VARCHAR(10))
RETURNS (
X INTEGER)
AS
begin
for execute statement 'select t.x from '||:A||' t' into :X do
suspend;
end
Естесственно, количество и тип полей, возвращаемых execute statement
должно быть известно - иначе ничего не выйдет.