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

Вниз

Переход к 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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.024 c
14-1102486764
Dima
2004-12-08 09:19
2004.12.26
Казино кинули на два миллиона с помощью мобильника


14-1101477178
Красная Майка
2004-11-26 16:52
2004.12.26
Очередное предновогоднее ММР


14-1102157639
VID
2004-12-04 13:53
2004.12.26
Где в Москве можно найти прачечную с самообслуживанием


1-1103038825
Dmitry_04
2004-12-14 18:40
2004.12.26
Посоветуйте какойнибудь компонент для выбора цвета, как в Word-е


4-1099316462
maxz
2004-11-01 16:41
2004.12.26
Проверка CRC32