Но тема не закрыта. Вопрос был в том, что если у таблицы есть только одно поле — у которого автоинкрементирующийся тип, то что нужно писать в скобочках "VALUES (???)"
Здравствуйте, valker, Вы писали:
V>Здравствуйте, Пацак,
V>Спасибо за ответ.
V>Но тема не закрыта. Вопрос был в том, что если у таблицы есть только одно поле — у которого автоинкрементирующийся тип, то что нужно писать в скобочках "VALUES (???)"
V>Заранее спасибо.
По меньшей мере, оригинально.
А, если не секрет, зачем такая таблица?
Здравствуйте, OLEGus1, Вы писали:
OLE>По меньшей мере, оригинально. OLE>А, если не секрет, зачем такая таблица?
Своего рода корень иерархии в ОО программировании. Общее свойство у всех объектов — это уникальность — для этого и нужна указанная таблица. Отклонения в свойсвах фиксируются в связанных таблицах, содержащие дополнительные и опциональные свойства.
Но всё-таки хотелось бы услышать ответ на поставленный вопрос:
Как вставить в таблицу новую запись, если единственное поле таблицы — автоинкрементирующийся счётчик?
INSERT INTO target [(field1[, field2[, ...]])]
VALUES (value1[, value2[, ...])
2.
If you append records to a table with an AutoNumber field and you want to renumber the appended records, do not include the AutoNumber field in your query. Do include the AutoNumber field in the query if you want to retain the original values from the field.
Здравствуйте, valker, Вы писали:
V>Но тема не закрыта. Вопрос был в том, что если у таблицы есть только одно поле — у которого автоинкрементирующийся тип, то что нужно писать в скобочках "VALUES (???)"
Затем, что синтаксис такой. Можно (и то не уверен, что в Access прокатит) не писать список полей, а вот список значений — обязателен.
V>Своего рода корень иерархии в ОО программировании. Общее свойство у всех объектов — это уникальность — для этого и нужна указанная таблица. Отклонения в свойсвах фиксируются в связанных таблицах, содержащие дополнительные и опциональные свойства.
Стандартный INSERT того, что ты спрашиваешь, не умеет.
Оставляя в стороне вопрос целесообразности такой структуры, хочется заметить, что общих свойство должно быть существенно больше — реальный тип объекта, какое-нибудь время создания, код пользователя-создателя, возможно версия записи (для оптимистичных блокировок).
Оформи создание такой записи в хранимую процедуру, идентификатор получай в ней же.
Здравствуйте, Igor Trofimov, Вы писали:
iT>Оставляя в стороне вопрос целесообразности такой структуры, хочется заметить, что общих свойство должно быть существенно больше — реальный тип объекта, какое-нибудь время создания, код пользователя-создателя, возможно версия записи (для оптимистичных блокировок).
Оставляя ли?
iT>Оформи создание такой записи в хранимую процедуру, идентификатор получай в ней же.
На Аксесе?
Здравствуйте, OLEGus1, Вы писали:
OLE>Ты же предлагаешь добавить поле (это и есть изменение структуры). Тогда инсерт и дурак сделает. А вот в текущей ситуации что человеку делать?
Например, не использовать Access. Взять что-то более адекватное, умеющее работать с процедурами/триггерами. Тогда и вопрос об INSERT-ах отпадет сам собой. Если надо что-то компактное и переносимое, то Firebird Embedded.
Здравствуйте, Horror_Infinity, Вы писали:
H_I>Например, не использовать Access. Взять что-то более адекватное, умеющее работать с процедурами/триггерами. Тогда и вопрос об INSERT-ах отпадет сам собой. Если надо что-то компактное и переносимое, то Firebird Embedded.
Вопрос был поставлен именно про аксес. При чем тут фаербед?
Здравствуйте, OLEGus1, Вы писали:
OLE>Вопрос был поставлен именно про аксес. При чем тут фаербед?
Олег, а ты сам-то ответ знаешь или просто докапываешься? Я вот тут покумекал слегка и сдается мне при соблюдении всех исходных условий (INSERT, одно поле, автоинкремент, MS аксекс) задача решения не имеет. Или все-таки имеет?
Здравствуйте, Пацак, Вы писали:
П>Олег, а ты сам-то ответ знаешь или просто докапываешься? Я вот тут покумекал слегка и сдается мне при соблюдении всех исходных условий (INSERT, одно поле, автоинкремент, MS аксекс) задача решения не имеет. Или все-таки имеет?
В том то и дело, что не имеет.
А прикопался я из-за минуса. Непонятно за что.
Здравствуйте, OLEGus1, Вы писали:
OLE>Вопрос был поставлен именно про аксес. При чем тут фаербед?
Да я как бы в курсе. Я просто предложил несколько иное решение, поскольку в рамках озвученного задача решения не имеет. Ну не понимает акцесс выражения DEFAULT VALUE, хотя и должен бы по соображениям совместимости с сиквелом.
Здравствуйте, Пацак, Вы писали:
П>Я вот тут покумекал слегка и сдается мне при соблюдении всех исходных условий (INSERT, одно поле, автоинкремент, MS аксекс) задача решения не имеет. Или все-таки имеет?
Интересно еще, что и в самом Аксессе Вставить такую запись не удается.