Добавление и удаление записей командами SQL. Модификация таблицы
Часто оказывается необходимым изменить ее структуру таблицы. С этой целью следует перевести таблицу в режим конструктора. Это достигается командой меню View → Table Designer или SQL-командой
MODIFY STRUCTURE.
Все изменения структуры таблицы необходимо сохранить, нажав клавиши Ctrl+Wили выйдя из окна Table Designer.При этом на экране появится диалоговое окно с вопросом: «Make structure changes permanent?», т.е. «Сделать изменения структуры постоянными?». Если нужно сохранить внесённые изменения, нажмите «Yes». При ответе No внесённые изменения не будут сохранены.
Для изменения структуры таблицы можно использовать команду
ALTER TABLE(изменить таблицу).
Предварительно таблица должна быть закрыта командой USE.
Например:
ALTER TABLE <Employee>
ADD COLUMN Address_2 CHAR (30)
Эта команда изменяет таблицу с указанным названием, добавляя в нее новый столбец, который называется Address2, имеет тип данных CHAR и длину до 30 символов.
Удаление поля совершает команда:
ALTER TABLE <имя таблицы>
DROP COLUMN Address_2.
Добавление записей
Чтобы добавить в таблицу новую запись, следует выбрать в меню Table пункт Append New Record или нажать комбинацию клавиш CTRL+Y. Вместо этого можно использовать команду
APPEND BLANK
В открытой таблице курсор установится на новую строку, после чего можно ввести данные с клавиатуры.
Удаление записей из таблицы
Процедура удаления записи распадается на два этапа: сначала необходимо пометить запись для удаления, а потом удалить запись, изменив файл. Удаление записей возможно, только если таблица открыта в режиме EXCLUSIVE.
Для пометки записей используют команду
DELETE [<границы>][WHILE <вржL>][FOR <вржL>]
Если выполнить команду
DELETE ALL
Будут помечены на удаление все записи таблицы.
Примеры: DELETE RECORD 2 && удалить запись под номером 2
DELETE ALL FOR address='Углич' && предполагается, что в таблице имеется поле address, содержащее указанный текст.
После выполнения команды DELETE запись ещё не удалена физически. Она только помечена для удаления. При этом закрашивается черным цветом крайнее левое поле соответствующей строки.
Физическое удаление помеченных записей производится командой
PACK (Упаковать).
При упаковке все записи таблицы, кроме помеченных на удаление, копируются во временную таблицу. Исходная таблица уничтожается, а временной присваивается её имя. Следствием этого является то, что после удаления записей таблицу приходится открывать заново.
Пометку удаления можно снять, командой
RECALL
Если помечено несколько записей, выполните команду
RECALL ALL.
Определить, помечена ли запись для удаления, позволяет функция DELETED(). Для записи помеченной к удалению, функция возвращает логическое значение .T.
Если необходимо обработать таблицу, не учитывая помеченные к удалению записи, необходимо выполнить команду
SET DELETED ON (по умолчанию установлено SET DELETED OFF).
Всё содержимое активной таблицы удаляет команда
ZAP.
При этом структура таблицы сохраняется.
Визуальными средствами FoxPro пометка записи на удаление осуществляется, в режиме просмотра таблицы, щелчком по её крайнему левому полю. Оно, при этом, приобретает чёрный цвет, который называется «метка удаления» (Delete Mark). Повторный щелчок снимает выделение. Другой способ пометки состоит в выборе пункта Delete Records…(Стереть записи) в меню Table (Таблица).
Физическое удаление помеченных записей достигается выбором пункта Remove Deleted Records (Удалить помеченные записи) меню Table. Теперь запись будет удалена полностью, без возможности восстановления. Удалённые из таблицы записи не могут быть восстановлены, поэтому к процессу удаления нужно подходить очень внимательно.