![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
создание автосчетчика в базе посредство 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