Автоинкрементные поля, insert и TTable
Таблица А
а - уникальный автоинкрементный ключ
в - символьная строка
Таблица Б
с - целое число
р - символьная строка
Кроме того задана связь master table А, table b по полям a->c.
Заполняется форма в которой для а и р вводятся значения. По нажатию кнопочки "Записать" делается:
insert into A (b) values (:p_Str) после чего необходимо в таблице Б создать запись для записи таблицы А. Грубо говоря insert into Б(с,р) values (:p_a,:p_Str1), где значение p_a равно только что созданому а из таблицы А.
Вопрос, как узнать это а. Сейчас это реализовано навороченными тригерами onInsert. Но меня это не устраивает.
Цитата:
Originally posted by AlexandrVSmirno
Вопрос, как узнать это а. Сейчас это реализовано навороченными тригерами onInsert. Но меня это не устраивает.
Вопрос, как узнать это а. Сейчас это реализовано навороченными тригерами onInsert. Но меня это не устраивает.
Вроде так и должно быть реализовано. Если TTable - это не шутка, сочувствую.
А что за сервер БД?
Цитата:
Originally posted by smartsoft
Вроде так и должно быть реализовано. Если TTable - это не шутка, сочувствую.
А что за сервер БД?
Вроде так и должно быть реализовано. Если TTable - это не шутка, сочувствую.
А что за сервер БД?
Microsoft SQLServer 2000. TTable к сожалению не шутка. Просто прога мне досталась в наследство. Похоже проще все переписать, чем разобраться.
Цитата:
Originally posted by AlexandrVSmirno
TTable к сожалению не шутка. Просто прога мне досталась в наследство. Похоже проще все переписать, чем разобраться.
TTable к сожалению не шутка. Просто прога мне досталась в наследство. Похоже проще все переписать, чем разобраться.
Я не знаю, поддерживает ли MS SQL предложение returning, но даже если и поддерживает - это точно не для BDE.
Цитата:
Originally posted by smartsoft
Я не знаю, поддерживает ли MS SQL предложение returning, но даже если и поддерживает - это точно не для BDE.
Я не знаю, поддерживает ли MS SQL предложение returning, но даже если и поддерживает - это точно не для BDE.
Все проблема решена с помощью тригеров. Выкинул лишние навороты и получилось очень даже изящно. Попутные выводы:
в BDE c MS SQLServer2000 можно использовать только sql - запросы. Все остальное достаточно сильно глючит и на преодоление этого уходит много сил и времени.
ЗЫ smartsoft большое спасибо за обсуждение. Оно натолкнуло на мысли, позволившие упростить реализацию.