![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Переход к Oracle9 проблема с уиникальным полем [D6]
Evyshka © (2004-11-23 17:27:00)До этого была БД ключевое поле считалось по функции с использованием table.IndexFieldNames т.е сортировка по индексному полю - поиск пропуска - если нет то обавление
А при использовании TOraTable на этом месте вылетает ошибка
Может теперь можно это реализовать какой то встроенной функцией или запросом????
Evyshka (2004-11-25 17:18:00) [1]а как же типа так каждую запись update делать?
Fay (2004-11-25 03:03:00) [2]2 vecna © (25.11.04 1:13) [19][Ответить]
merge не работает с политиками доступа
vecna (2004-11-25 01:13:00) [3]rtfm
merge (>=9i)
или тривиальный универсальный вариант:
update table...;
if SQL%NOTFOUND then
insert into table...
end if;
Evyshka (2004-11-24 17:12:00) [4]Убрала одно ненужное поле :-)))
Проблема теперь в следующем :-)) НАдо сделать прием dbf таблицы в таблицу Oracle. Если запись найдена то ее обновить а если нет то добавить.
Вопрос каждую запись проверять построчно???
Извиняюсь за кадровую формулировку :-)))
roottim (2004-11-24 11:02:00) [5]не советую искать дыры в последовательнотсях. Отвыкайте от ненужного.
временно вам может помочь такая ф-я (непроверил.. но должна сработать. id должен быть pk или индексирован)
create or replace function GEtNEwID return number
is
i number := 1;
res number;
begin
while i <= 10000 loop --limit
select id into res from my_table where id = i;
i := i + 1;
end loop;
exception
when others then
return i;
end;
Reindeer Moss Eater (2004-11-24 10:48:00) [6]Так она же "вылетает". Как её покажешь?
ЮЮ (2004-11-24 10:44:00) [7]>А при использовании TOraTable на этом месте вылетает ошибка
А показать это место и указать какая ошибка - скромность не позволяет?
Sergey13 (2004-11-24 10:44:00) [8]2[13] Evyshka (24.11.04 10:39)
>не развожу мне кажется что я так все понятно написала
Только тебе и понятно. 8-) У тебя и БД под руками и проект свой ты видишь, а мы только догадываться можем - что у тебя там.
Evyshka (2004-11-24 10:39:00) [9]не развожу мне кажется что я так все понятно написала :-))))
Sergey13 (2004-11-24 10:36:00) [10]2[11] Evyshka (24.11.04 10:28)
Не, ну ты разводишь всех что ли? 8-) Ты программист или инспектор отдела кадров?
Evyshka (2004-11-24 10:28:00) [11]Нет не лень :-))
Идет прием информации по полю Field1(имеется ввиду проверка при приеме по этому полю если найдено такое значение то запись редактириется если нет то добавляется) при добавлении формируется уникальное поле Field2 - номер по порядку(проверка следущая если 12345 то присваиваиться 6 , если 12456 то присваивается 3)
Sergey13 (2004-11-24 10:17:00) [12]2[8] Evyshka (24.11.04 10:11)
А если то же самое, но в терминах БД. Тебе первичный ключ нужно проверять? Откуда идет прием информации? Как формируется это твое уникальное ключевое поле. Может тригером?
Тебе лень писать подробно?
Johnmen (2004-11-24 10:14:00) [13]GetPeopleInformation
эта ?
Evyshka (2004-11-24 10:11:00) [14]Нужна функция приема инвормации по людям в базу, при этом у них формировалось уникальное ключевое поле, если информация повторяется то принимать поверх
Johnmen (2004-11-24 09:54:00) [15]А что там SEQUENCE ?
Sergey13 (2004-11-24 09:51:00) [16]2[5] Evyshka (24.11.04 09:44)
Начни с того, что никто с форума не видел твоей задачи, даже компьютера твоего не видели. Формулируй вопросы понятно для всех, если хочешь получить ответ.
>нужна функция приема
Стеклотары? Платежей за мобилу?
Evyshka (2004-11-24 09:44:00) [17]нужна функция приема если значение поля не найдено то оно формируется как уникальное, если найдено то запись редактируется
Sergey13 (2004-11-24 09:37:00) [18]2Evyshka
Странный переход к Ораклу. Зачем Табл то нужен вообще?
>До этого была БД
Какая?
>ключевое поле считалось по функции
Это как? Какое значение у слова "ключевое"?
Reindeer Moss Eater (2004-11-24 09:21:00) [19]Если честно, то тебя тоже никто здесь не понимает.
Evyshka (2004-11-24 08:58:00) [20]Если честно не поняла как. А если пропуск тоже он присвоит???