Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

FireBird и генератор [IB6.x]


Fiend ©   (2003-02-17 10:08:00) 

Здрасте люди!!!!
вопрос такой: можно ли делать SET GENERATOR AAA TO :A
то бишь установить значение генератора равным переменной, да плюс ко всему этому еще и сделать это в теле процедуры???


Fiend   (2003-02-17 11:34:00) [1]

То Sergey13:
повторяю еще раз шо скрипт используется тока мной в сист. целях во время разработки, к тому же юзверя нету правов на его выполнение!


Sergey13   (2003-02-17 11:13:00) [2]

2Fiend © (17.02.03 10:59)
И вот в один прекрасный день, во время работы твоего красивого скрипта злобный юзер захочет вставить свою строчку в таблицу. И красота скрипта - псу под хвост.


Fiend   (2003-02-17 10:59:00) [3]

То Sergey13:
зачем мне учить делать это софтину???
я уж лучше выполню процедуру, которая сначала данные распихнёт, а затем сама проставит генераторы в нужное значение - таким образом получится у меня красота в одном скрипте, что более красиво, чем учить софтину! Ибо в сервер данные вливаются один раз а процедуру распихивания я могу вызывать раз несколько ибо в процессе написания софта непременно меняю данные которые залил, а затем для чистоты эксперимента хочу видеть начальные данные. усёк?


То Johnmen и Desdechado: СПАСИБА, всё получилось!!!!!!!! примного благодарен! :)


Sergey13   (2003-02-17 10:52:00) [4]

2Fiend © (17.02.03 10:45)
>ты меня извратом не грузи
А сам чем занимаешься? Не пробовал научить свою "софтину" "рассовывая" данные по таблицам использовать родные генераторы?


Johnmen   (2003-02-17 10:47:00) [5]

Развивая идею Desdechado © (17.02.03 10:25):

CREATE PROCEDURE SetMyGenValue (SetValue INT)
AS
DECLARE VARIABLE TempValue INT;
BEGIN
TempValue=GEN_ID(MyGen,-(Gen_ID(MyGen,0))+:SetValue);
END


Fiend   (2003-02-17 10:45:00) [6]

То Sergey13:
ты меня извратом не грузи, я то точно не запутаюсь, главно шоб ты знал как на вопрос ответить а не советы да предостережения мне давать!

То Desdechado:
я так понимаю nID - это переменная, а та функция помоему возвращает следующее значение генератора? я прав?
тока мне понимаете ли надо именно установить определенный генератор в какое то значение, поясню почему:
моя софтина сначала заливает таблицы Clipper в базу файрбёрда, а потом запускает процедуру, которая "рассовывает" данные по таблицам принадлежащим моей структуре, многие из них имеют генератор, потому после того как я перенесу в них данные мне нужно вычислить max для ключевого поля, которое использует генератор, и присвоить генератору новое значение.

шо скажете??? как лучше подойти


Desdechado   (2003-02-17 10:25:00) [7]

Небольшой изврат нужен типа
nID = gen_id( genUSERID, -( nID - 1 ) ); /* сброс генератора */


Sergey13   (2003-02-17 10:23:00) [8]

А сам то поом не запутаешься в значениях? Странная какая то задача.


Наверх

Титульная страница Поиск, карта сайта Написать письмо