Вниз
Скачать: CL | DM;

Процедуры в InterBase   Найти похожие ветки 

 
BorisMor ©   (2006-05-17 13:26) [0]

У меня в базе несколько справочных таблиц с одинаковыми палями (ID, data_value).
Хочу что бы можно написать внутреннею процедуры IИ в параметре у которого была возможность прописывать имя таблицы с которой она работает.

Типа:

CREATE PROCEDURE SPRAV_ADD (
   NAME_TABLE VARCHAR (50),
   VALUE_DAT VARCHAR (250))
AS
DECLARE VARIABLE id_no INTEGER;
BEGIN
 /* Добавление данных в стправочник
 NAME_TABLE - имя таблицы
 VALUE_DAT - добавляемое значение */

 select ID
 from NAME_TABLE
 where ("value_dat" like :value_dat)
 into :id_no;
 
 и т.д.


Это возможно ?


 
ANB ©   (2006-05-17 13:28) [1]

Нет. Придется писать дубли хранимок.


 
Sergey13 ©   (2006-05-17 13:32) [2]

2BorisMor ©   (17.05.06 13:26)
>У меня в базе несколько справочных таблиц с одинаковыми палями (ID, data_value).
Как вариант.
Сделай одну (ID,тип_значения, data_value). Ну или 2 - в одной типы пропиши.


 
unknown ©   (2006-05-17 13:33) [3]

Если используется не
> IB4.x, IB5.x, IB6.x
а FB 1.5.x и выше то можно извернуться с execute statement


 
unknown ©   (2006-05-17 13:35) [4]

Еще можно сделать
if (NAME_TABLE="TABLE1") then
select ID
from table1
where ("value_dat" like :value_dat)
into :id_no; else
if (NAME_TABLE="TABLE2") then
select ID
from table2 и т.д.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.025 c
15-1150987302
ПЛОВ
2006-06-22 18:41
2006.07.23
Где-то видел такое...


15-1150861063
tButton
2006-06-21 07:37
2006.07.23
физический ускоритель


15-1150355783
Vaitek__
2006-06-15 11:16
2006.07.23
Софт на древний ноутбук


15-1150816031
UMU
2006-06-20 19:07
2006.07.23
ShareWare программы


3-1147932661
petvv
2006-05-18 10:11
2006.07.23
Трабла с FastReport 3




   Наверх