powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Безобразие с типами параметров ХП
6 сообщений из 6, страница 1 из 1
Безобразие с типами параметров ХП
    #32496919
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу поделиться, что очень плохо, по-моему, что в синтаксисе IB нет возможности указывать домены в качестве типов параметров (как в MSSQL). Это очень не удобно, не находите? Поделитесь мнением, если не только мне это не удобно, мне должно полегчать :)
...
Рейтинг: 0 / 0
Безобразие с типами параметров ХП
    #32497783
Denis Uskov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да многим это не удобно
Полегчало?
------------------------
С уважением, Denis Uskov
...
Рейтинг: 0 / 0
Безобразие с типами параметров ХП
    #32498533
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Допустим у тебя параметры или переменные в ХП на основании доменов и в домене определено ограничение CHECK - как его проверять? Триггер на параметр/переменную создавать?
...
Рейтинг: 0 / 0
Безобразие с типами параметров ХП
    #32499779
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OK. Во-первых, MS SQL как то справляется с этим. Во-вторых, можно было бы, отавить CHECK в покое, зато какая красота в синтаксисе скрипта и легко править! В-третьих, ну, а какие проблемы, сервер мог бы проверить значения на этапе приема значений параметров.
...
Рейтинг: 0 / 0
Безобразие с типами параметров ХП
    #32500149
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zDIVВо-первых, MS SQL как то справляется с этим.
Все на M$ равняйсь! Смир-р-рнА!
...
Рейтинг: 0 / 0
Безобразие с типами параметров ХП
    #32500205
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй начать работать с каким - нибудь CASE средством. Они, кажется, все умеют работать с доменами.

Вот пример для ERWin. Тут я вообще никаких типов не указываю, только обращения к полям. А ErWin с помощью макрофункций извлекает из них типы данных. А во что этот макрос там развернется - какая, нафиг, разница?

-------------------------------

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
 create procedure get_tree_%Lower(%TableName) (
  MASTER_%TableName_ID INTEGER)
returns (%ForEachAtt(%TableName, ',')
 {
  %AttFieldName %AttDataType})
AS
begin
  for select %ForEachAtt(%TableName, ',')
    { %AttFieldName}
  from %TableName T
  where Base_%TableName_id =:MASTER_%TableName_id
  order by T.Location, T.FName_Short
  into %ForEachAtt(%TableName, ',')
  { :%AttFieldName}
   do begin
     suspend;
     if (Child_Count >  0 ) then
       for  select %ForEachAtt(%TableName, ',')
         { %AttFieldName}
       from get_tree_%Lower(%TableName)(:%TableName_id)
       into %ForEachAtt(%TableName, ',')
        { :%AttFieldName}
     do suspend;
   end
end

----------------------------------

Потом развернется, например, в:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
create procedure get_tree_part_category (
  MASTER_Part_Category_ID INTEGER)
returns (part_category_id INTEGER,
  base_part_category_id INTEGER,
  fname_short VARCHAR( 84 ),
  location INTEGER,
  child_count INTEGER)
AS
begin
  for select part_category_id, base_part_category_id, fname_short, location, child_count
  from Part_Category T
  where Base_Part_Category_id =:MASTER_Part_Category_id
  order by T.Location, T.FName_Short
  into :part_category_id, :base_part_category_id, :fname_short, :location, :child_count
   do begin
     suspend;
     if (Child_Count >  0 ) then
       for  select part_category_id, base_part_category_id, fname_short, location, child_count
       from get_tree_part_category(:Part_Category_id)
       into :part_category_id, :base_part_category_id, :fname_short, :location, :child_count
     do suspend;
   end
end


------------------

PS - хотя можно было и домены использовать.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Безобразие с типами параметров ХП
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]