Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Помогите новичку с Oracle 9i

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных
Предыдущая тема :: Следующая тема  
Автор Сообщение
Din_din
Гость





СообщениеДобавлено: Ср Фев 04 2004 12:22    Заголовок сообщения: Помогите новичку с Oracle 9i Ответить с цитатой

В Access есть поля с типом данных счетчик и без проблем, а как делать точно такие же поля в oracle???
Вернуться к началу
Gry
Гость





СообщениеДобавлено: Ср Фев 04 2004 12:36    Заголовок сообщения: надо использовать sequence Ответить с цитатой

Надо создать sequence - это отдельный объект базы (схемы) в Oracle.
Если привык к autonumber, то можешь к каждой таблице писать тригер (before insert), хотя лучше все операции с базой церез сохранёнки
Вернуться к началу
Гость






СообщениеДобавлено: Ср Фев 04 2004 13:11    Заголовок сообщения: Re: надо использовать sequence Ответить с цитатой

Про это я слышал и уже создал sequence, а как теперь связать с таблицей??? Просто указать вместо типа данных?
Вернуться к началу
wildwind



Зарегистрирован: 03.02.2004
Сообщения: 268
Откуда: Москва

СообщениеДобавлено: Ср Фев 04 2004 17:47    Заголовок сообщения: Ответить с цитатой

Oracle сам не использует sequence. Ты должен сам при каждом insert'е подставлять следующий номер. Делается так:
Код:
insert into t (n, ...)
values (seq.nextval, ...)

где n - поле-счетчик (объявляется как number), seq - имя последовательности.

Так как это нужно делать при каждом insert'е, то, как уже было сказано, лучше делать это в триггере или в хранимой процедуре.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
hydrolizer



Зарегистрирован: 01.12.2003
Сообщения: 58
Откуда: Москва

СообщениеДобавлено: Ср Фев 04 2004 17:55    Заголовок сообщения: Ответить с цитатой

create table tst_table(n number, value varchar2(100))
create sequence sq_tst_table
increment by 1
start with 1
minvalue 1
maxvalue 999999999999999999999999999
nocycle
noorder
nocache

insert into tst_table values (sq_tst_table.nextval, 'AAAAAAAAAAA');
insert into tst_table values (sq_tst_table.nextval, 'BBBBBBBBBBB');
insert into tst_table values (sq_tst_table.nextval, 'CCCCCCCCCC');

SQL> select * from tst_table;

N VALUE
--------- --------------------
1 AAAAAAAAAAA
2 BBBBBBBBBBB
3 CCCCCCCCCC

А вообще советую почитать концепции сервера Oracle - заданный вопрос отнюдь не относится к фичам Oracle 9i, это одна из основ, без незнания которых дальше будет тяжко, и периодические консультации не помогут
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...