Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

добавление записи в базу   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.062 c
1-1083415414
Jiurasdfgfr
2004-05-01 16:43
2004.05.16
Как в StringGrid вызвать OnDrawCell?


6-1079776170
AkaSaint
2004-03-20 12:49
2004.05.16
Что-то я не понял в устройстве TCustomWinSocket


6-1080652780
Новичёк
2004-03-30 17:19
2004.05.16
Использование буфера при ClientRead.


14-1082643926
Учащийся
2004-04-22 18:25
2004.05.16
Локализация программы


3-1082534065
macsd
2004-04-21 11:54
2004.05.16
на форме MDIchild access violetion