Форум: "Базы";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
ВнизПереход к Oracle9 проблема с уиникальным полем Найти похожие ветки
← →
Evyshka (2004-11-23 17:27) [0]До этого была БД ключевое поле считалось по функции с использованием table.IndexFieldNames т.е сортировка по индексному полю - поиск пропуска - если нет то обавление
А при использовании TOraTable на этом месте вылетает ошибка
Может теперь можно это реализовать какой то встроенной функцией или запросом????
← →
Reindeer Moss Eater © (2004-11-23 17:37) [1]Встроенным "словом" ORDER BY
← →
Evyshka (2004-11-24 08:58) [2]Если честно не поняла как. А если пропуск тоже он присвоит???
← →
Reindeer Moss Eater © (2004-11-24 09:21) [3]Если честно, то тебя тоже никто здесь не понимает.
← →
Sergey13 © (2004-11-24 09:37) [4]2Evyshka
Странный переход к Ораклу. Зачем Табл то нужен вообще?
>До этого была БД
Какая?
>ключевое поле считалось по функции
Это как? Какое значение у слова "ключевое"?
← →
Evyshka (2004-11-24 09:44) [5]нужна функция приема если значение поля не найдено то оно формируется как уникальное, если найдено то запись редактируется
← →
Sergey13 © (2004-11-24 09:51) [6]2[5] Evyshka (24.11.04 09:44)
Начни с того, что никто с форума не видел твоей задачи, даже компьютера твоего не видели. Формулируй вопросы понятно для всех, если хочешь получить ответ.
>нужна функция приема
Стеклотары? Платежей за мобилу?
← →
Johnmen © (2004-11-24 09:54) [7]А что там SEQUENCE ?
← →
Evyshka (2004-11-24 10:11) [8]Нужна функция приема инвормации по людям в базу, при этом у них формировалось уникальное ключевое поле, если информация повторяется то принимать поверх
← →
Johnmen © (2004-11-24 10:14) [9]GetPeopleInformation
эта ?
← →
Sergey13 © (2004-11-24 10:17) [10]2[8] Evyshka (24.11.04 10:11)
А если то же самое, но в терминах БД. Тебе первичный ключ нужно проверять? Откуда идет прием информации? Как формируется это твое уникальное ключевое поле. Может тригером?
Тебе лень писать подробно?
← →
Evyshka (2004-11-24 10:28) [11]Нет не лень :-))
Идет прием информации по полю Field1(имеется ввиду проверка при приеме по этому полю если найдено такое значение то запись редактириется если нет то добавляется) при добавлении формируется уникальное поле Field2 - номер по порядку(проверка следущая если 12345 то присваиваиться 6 , если 12456 то присваивается 3)
← →
Sergey13 © (2004-11-24 10:36) [12]2[11] Evyshka (24.11.04 10:28)
Не, ну ты разводишь всех что ли? 8-) Ты программист или инспектор отдела кадров?
← →
Evyshka (2004-11-24 10:39) [13]не развожу мне кажется что я так все понятно написала :-))))
← →
Sergey13 © (2004-11-24 10:44) [14]2[13] Evyshka (24.11.04 10:39)
>не развожу мне кажется что я так все понятно написала
Только тебе и понятно. 8-) У тебя и БД под руками и проект свой ты видишь, а мы только догадываться можем - что у тебя там.
← →
ЮЮ © (2004-11-24 10:44) [15]>А при использовании TOraTable на этом месте вылетает ошибка
А показать это место и указать какая ошибка - скромность не позволяет?
← →
Reindeer Moss Eater © (2004-11-24 10:48) [16]Так она же "вылетает". Как её покажешь?
← →
roottim © (2004-11-24 11:02) [17]не советую искать дыры в последовательнотсях. Отвыкайте от ненужного.
временно вам может помочь такая ф-я (непроверил.. но должна сработать. 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;
← →
Evyshka (2004-11-24 17:12) [18]Убрала одно ненужное поле :-)))
Проблема теперь в следующем :-)) НАдо сделать прием dbf таблицы в таблицу Oracle. Если запись найдена то ее обновить а если нет то добавить.
Вопрос каждую запись проверять построчно???
Извиняюсь за кадровую формулировку :-)))
← →
vecna © (2004-11-25 01:13) [19]rtfm
merge (>=9i)
или тривиальный универсальный вариант:
update table...;
if SQL%NOTFOUND then
insert into table...
end if;
← →
Fay © (2004-11-25 03:03) [20]2 vecna © (25.11.04 1:13) [19][Ответить]
merge не работает с политиками доступа
← →
Evyshka (2004-11-25 17:18) [21]а как же типа так каждую запись update делать?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.035 c