| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Advantage Database Server > AutoInc when INSERT |
| Автор: nellyk 19.2.2012, 21:59 |
| Нужно: создать таблицу, содержащую выборку записей из другой таблицы с сохранением структуры. В структуре присутствует автоинкрементное поле, поэтому, выполняя INSERT INTO TABLE2 SELECT * FROM TABLE1 WHERE ...., получим измененные значения автоинкрементного поля. Варианты типа: поменять AutoInc на Integer, заполнить, заменить Integer на AutoInc - понятны. Хотелось бы попроще. В Microsoft SQL можно было (на время переписывания) отключить Автоинкремент, а потом опять включить. Нет ли чего-либо подобного в Advantag-е? Заранее спасибо. |
| Автор: Akina 19.2.2012, 23:04 |
| Если указывать явно набор полей, а не тупо звёздочку, включая и автоинкрементное поле, то при отсутствии ошибок дублирования в новую таблицу должны попадать значения из таблицы-источника. |
| Автор: nellyk 19.2.2012, 23:26 | ||
Спасибо, даже если это и так, то в моем случае не подойдет, так как речь идет о создании выборки из большого количества таблиц, и если "тупую" звездочку заменить списками, скрипт разрастется до гигантских размеров, да еще его придется менять при изменениях структуры таблиц. |
| Автор: Akina 20.2.2012, 09:27 |
Сервер всё равно разворачивает её до "гигантских размеров" - это ни на что не влияет. А почему бы сразу не спроектировать базу как нужно? чтобы не приходилось менять структуры хранения данных... |