Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.47 MB
Время: 0.033 c
1-1083076625
Татьяна
2004-04-27 18:37
2004.05.16
Динамический массив


14-1082957280
Anka
2004-04-26 09:28
2004.05.16
Про женский пол...


14-1082643918
copyr25
2004-04-22 18:25
2004.05.16
Ленин, Партия - Ум, Совесть и Честь нашей эпохи.


3-1082612210
ИМХО
2004-04-22 09:36
2004.05.16
Экспорт в DB без BDE


9-1072360931
AlexCo
2003-12-25 17:02
2004.05.16
Спрайты!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский