Форум: "Базы";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Вниздобавление записи в базу Найти похожие ветки
← →
Evgenija © (2004-04-16 12:01) [0]У меня таблица оракла и ид формирую сама.Куда мне вставить(в какое событие) процедуру формирования этого ключа при добавлении новой записи
← →
Курдль © (2004-04-16 12:14) [1]
> Куда мне вставить
ГУСАРЫ!!! МОЛЧА-А-А-А-АТЬ!!!!
← →
Anatoly Podgoretsky © (2004-04-16 12:17) [2]Как добавляешь, вот туда и вставлять
← →
Курдль © (2004-04-16 12:17) [3]Уникалные ID, как правило, формируют с помощью SEQUENСE.
В Оракле Ваша самодеятельность не приветствуется.
← →
Evgenija © (2004-04-16 13:59) [4]
> Курдль
база у меня большая и по ид распределены права доступа программа у меня на аксессе работает ид формируется я хочу перевести на дельфи как сделать здесь незнаю, но очень надо
← →
bushmen © (2004-04-16 14:01) [5]Лучше всего было бы все это оформить хранимой процедурой.
← →
Vlad © (2004-04-16 14:05) [6]Можно на событие OnNewRecord, но ID всеже лучше получать из sequence
← →
bushmen © (2004-04-16 14:07) [7]>по ид распределены права доступа
Т.е. id у Вас не identity?
← →
myor © (2004-04-16 14:08) [8]если бы id формировал oracle, имел бы смысл триггер, а так - [5].
← →
serge35 (2004-04-16 14:10) [9]Непонятно, как по ID можно распределять права доступа?
А ROWID к этому случайно нельзя приспособить?
← →
Курдль © (2004-04-16 14:48) [10]
> база у меня большая и по ид распределены права доступа программа
> у меня на аксессе работает ид формируется я хочу перевести
> на дельфи как сделать здесь незнаю, но очень надо
Я мало, что понял, особенно о программе на аксессе... Но постараюсь рассказать, как это делаю я.
1. В оракле права на отдельные записи распределяются иным способом.
2. Никаких триггеров и ХП, как говорили ранее, Вам не потребуется, если будете пользоваться правильными компонентами доступа типа DOA.
Так, например, TOracleDataSet, из их набора, имеет свойство SequencedField, в котором прописывается поле ID, последовательность, от которой оно получает свежие значения и событие, по которому это происходит (onNewRecord, onPost, onServer). Таким образом, если в наборе данных с кэшированными обновлениями Вы добавляете запись, то указанному полю автоматом добавляется новое уникальное значение.
← →
Курдль © (2004-04-16 16:33) [11]А, кстати, еще правильный и изящный способ "вставить" :)
1. Создать последовательность для идентификаторов таблицы
CREATE SEQUENCE TEST_SEQ
/
2. В каждом SQL предложении добавления записи прописывать
INSERT INTO TEST_TABLE (TEST_IDENTIFIER, TEST_NAME)
VALUES(TEST_SEQ.NEXTVAL,:TEST_NAME)
/
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.053 c