Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

создание автосчетчика в базе посредство SQL [D6, D7, Paradox, Access]


malamba ©   (2004-11-02 12:29:00) 

Подскажите, как в создаваемой таблице Access
( при помощи SQL :
CREATE TABLE tempTable
( Int INTEGER NOT NULL ,
...,
PRIMARY KEY (IntK)
)
задать , что ключевое поле – автоинкрементное (счетчик) ?


malamba   (2004-11-03 12:12:00) [1]

Стоит, нашел по поиску jet
нет фразы 'Эквивалентные типы данных ANSI SQL' или подобной на английском языке...
Но за участие спасибо.


sniknik   (2004-11-03 11:40:00) [2]

> Будем искать...
чего ее искать, она с мсофисом идет, если он у тебя стоит и непорезанный то она у тебя есть.


malamba   (2004-11-03 11:03:00) [3]

Я в принципе, остановился на Autoincrement. Но остальные тоже нужно попробовать для разнообразия...

А вот в справку по Jet залезть не догадался, тем более, что на моей машине ее нет. Будем искать...


sniknik   (2004-11-03 10:43:00) [4]

> Сюда я написал, после того, как нашел, что в Access и близко подобного описания нет,
Эквивалентные типы данных ANSI SQLсмотрел в справке по jet?

> А то, что нужен именно IDENTITY
IDENTITY аксес также понимает, также как и COUNTER


malamba   (2004-11-03 10:35:00) [5]

Ну буквально все нужно делать самому :-))))

CREATE TABLE tempTable
( IntKey Autoincrement,
...,
PRIMARY KEY (Int)
)

INTEGER NOT NULL  - выбрасывается
Создается новая таблица Access в которой IntKey описан ( ну наконец-то!) как Счетчик.

Снято.
Всем спасибо.


malamba   (2004-11-03 10:12:00) [6]

Не ломайте копья, у меня не Int, а IntK.
Int сократил для наглядности ( но ее не получилось)
Согласен, что Int, Year и прочие подозрительные вещи в названиях полей использовать не стоит.

//А почитать ?
//В смысле хэлпы, книжки, статьи ?

Вот уж не надо.
Сюда я написал, после того, как нашел, что в Access и близко подобного описания нет,
SQL 92 как буд-то не имеет средства задания автоинкрементного поля
Есть в Transact SQL и прочих диалектах, но тут нужен именно чистый SQL, который бы понял Access
А то, что нужен именно IDENTITY, извините, мало ли как он назвается ( сегодня Знайка, завтра - Незнайка, а послезавтра еще какая-нибудь Чертяйка...)


sniknik   (2004-11-03 08:14:00) [7]

хотя наверно даже не синтаксис IB (там же генераторы для инкрементов используют), скорее там нечто "синтетическое" для описания смысла поля а не точное лексически описание.


/*
В разных диалектах языка SQL автоинкрементное поле будет выражено по-разному -
например, через IDENTITY, SEQUENCE или GENERATOR.
Здесь мы используем условное обозначение AUTOINCREMENT.
*/


sniknik   (2004-11-03 08:10:00) [8]

да int это тип, integer тип и Autoincrement тоже тип поля.
не находиш, 3 типа в описании одного поля это многовато?

> вот статья в доказательство слов:
не сравнивай, там же IB и подобные базы и их синтаксис используются, а тут Access.


Hmm   (2004-11-03 07:53:00) [9]

хм... единственная ошибка, которую вижу я - это необходимость заменить название поля int.

проверить запрос неначем, посему вот статья в доказательство слов:

http://www.akzhan.midi.ru/devcorner/articles/NaturalKeysVersusAtrificialKeysByTentser.html


sniknik   (2004-11-02 23:44:00) [10]

Hmm ©   (02.11.04 23:27) [5]
;о)) исправь пока не поздно.
к ошибке автора еше и свою добавил.


Hmm   (2004-11-02 23:27:00) [11]

CREATE TABLE tempTable
( Int INTEGER NOT NULL Autoincrement,
...,
PRIMARY KEY (Int)
)


sniknik   (2004-11-02 20:38:00) [12]

> А поговорить?
о чем? ответ четко соответствует вопросу - "догадайтесь что надо сдесь дописать" а вот это и надо.


msguns   (2004-11-02 18:39:00) [13]

А почитать ?
В смысле хэлпы, книжки, статьи ?


malamba   (2004-11-02 18:15:00) [14]

А поговорить?

В смысле, куда его пихнуть: PRIMARY KEY Autoincrement(IntK)- так ?


sniknik   (2004-11-02 12:40:00) [15]

D Autoincrement


Наверх

Титульная страница Поиск, карта сайта Написать письмо