Как вставить новую строку в таблице базы данных?

Автор shinamashina, 28 декабря 2012, 01:16

0 Пользователи и 1 гость просматривают эту тему.

shinamashina

Подскажите пожалуйста.
Имеется база данных, ну и соответственно таблица с данными.
Необходимо добавить строку с данными, но не в конце, а в произвольном месте таблицы.
Казалось-бы - элементарная вещь. Но как это сделать? Ума не приложу.

И ещё один, на первый взгляд элементарный, вопрос.
Как скопировать строки из одной таблицы данных в другую?
Чего только не пробовал - ничего неполучается.

Helen

Цитата: shinamashina от 28 декабря 2012, 00:16Необходимо добавить строку с данными, но не в конце, а в произвольном месте таблицы.
положение строки в таблице зависит от условий сортировки. Задайте правильный критерий, и строка будет там, где нужно.
Цитата: shinamashina от 28 декабря 2012, 00:16Чего только не пробовал - ничего неполучается.
а много строк?

Hasim

Цитата: shinamashina от 28 декабря 2012, 00:16Необходимо добавить строку с данными, но не в конце, а в произвольном месте таблицы.
Зачем такие сложности?
Базы данных и сделаны так, чтобы ввод данных был как можно проще.
А вывод данных возможен в любом нужном виде.
Цитата: shinamashina от 28 декабря 2012, 00:16Как скопировать строки из одной таблицы данных в другую?
Тот же вопрос. Зачем?
Таблицы должны содержать уникальные (неповторяющиеся) строки данных.
Одни и те же строки данных в разных таблицах - это грубейшее нарушение принципов построения баз данных.

shinamashina

Helen  Hasim
Ну, рас вы такие пытливые и наслово неверите, постараюсь обьяснить суть проблемы.
Была у меня таблица с данными. Каждой строке с данными был присвоен свой порядковый номер. Этот номер присваивается автоматически каждый раз когда я заношу новую строку с данными. Этот номер менять нельзя потому-что он используется в других моих документах.
И вот в один прекрасный момент я случайно (чёрт меня дёрнул) удалил одну из строк таблицы. И теперь никак немогу её восстановить. Но у меня сохранилась старая копия моей базы данных в которой эта (удалённая) строка имеется. Вот я и пытался её скопировать из старой базы в новую. А если я просто создаю новую строку с данными то ей, естественно, присваивается уже следующий порядковый номер.

JohnSUN

А-а-а... Знакомая ситуация...
Я её поборол - не поверишь! - через drag&drop.

Открыл в Calc новую книгу, нажал F4, зацепил "ущербную" таблицу мышкой и стащил вниз, в лист книги.
Добавил утерянные шесть строк (Зацени - шесть! У меня масштабы покруче будут! :) Если уж портить таблицу - так портить основательно :D )
Потом клацнул на имени базы правой кнопкой и выбрал Редактировать...

Упс... А вот тут не помню - давно было. То ли я битую таблицу просто удалил, а потом она создалась... То ли только записи вычистил и обжал базу через Tools-SQL командой то ли "SHUTDOWN COMPACT", то ли "CHECKPOINT DEFRAG". Ну, ты попробуй и так, и эдак: "опыт - сын ошибок трудных..." (Только резервную копию не забудь сделать! Большинство действий с базами данных необратимы!)
В общем, последнее действие было выделить весь массив данных в листе Calc и перетащить обратно в проводник баз данных. Там потом мастер запускается, который интересуется что нужно сделать - то ли создать структуру таблицы и дописать перетаскиваемые данные, то ли просто закинуть данные в существующую таблицу...

Это потом, когда с базами и эскюэлями немножко разобрался, я узнал, что всю эту беду можно было сделать несколькими командами INSERT-SELECT-UNION-TRUNCATE... Но, судя по твоему вопросу, рассказывать про этот способ пока рано, да?
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Hasim

Цитата: shinamashina от 29 декабря 2012, 11:09А если я просто создаю новую строку с данными то ей, естественно, присваивается уже следующий порядковый номер.
Затем эту таблицу:
1. Изменить
Автозначение - Нет
Сохранить
2. Открыть
   Поменять номер на нужный
   Сохранить
3. Изменить
Автозначение - Да
Сохранить