| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Advantage Database Server > Нужен AutoInc, но по моим правилам |
| Автор: SFrog 30.9.2008, 12:45 | ||
| Поработав в некоторых других системах нашел удобным такой вариант, что поле для PK, объявленное как автоинкрементное, будучи заданным NULL автоматически устанавливается в очередное значение, а будучи заданным явно пытается установится в заданное явно значение, а кроме того, допускает редактирование. Теперь перехожу на ADS и если первому условию поле типа AutoInc удовлетворяет, но вот последующим двум - увы. Объявил поле как INTEGER и сочинил такой триггер
Где "@NewID=paCommon.GetID('CURRENCY', 'CRNCCODE');" - вызов функции-генератора следующего значения для PK CRNCCODE. Теперь у меня в плане присвоения значений для PK все, как мне хочется, но напрягают два момента: 1) Хотелось бы по возможности обойтись без INSTEAD OF; 2) (и главное) по CRNCCODE, не могу установить ограничение NOT NULL, потому что тогда до триггера и дело не доходит. Может подскажете более элегантное решение? P.S. Таблиц будет много, поэтому создание VIEW и INSTEАD OF на него не предлагать |