КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Case RadioGroup2.Itemlndex of
Case RadioGroupl.Itemlndex of Begin Статический и динамический запросы DELETE FROM Store Удаление записей WHERE C_Date BETWEEN 1.1.07 AND 31.12.07 FROM Cards SELECT C_Code, CJfove, C_Date INSERT INTO CardsArchives (Code, Move, Date)
В архивную таблицу CardsArchives добавляется группа записей из таблицы Cards движения товара. Для записей, сделанных в 2007 году, в архив копируются код товара, приход или расход и дата. Если необходимо выполнить не копирование, а перемещение записей в архив, то после успешного копирования можно удалить записи в исходной таблице с помощью оператора delete. Замечание Перемещение записей целесообразно оформлять в рамках транзакции, чтобы обеспечить надежность выполнения операции и сохранение целостности БД. Для удаления группы записей используется оператор delete, имеющий формат: DELETE FROM <Имя таблицы> [WHERE <Условия выбора>]; В результате выполнения этого оператора из таблицы, имя которой указано после слова from, удаляются все записи, которые удовлетворяют критерию отбора. Замечание Если критерий отбора не задан, то из таблицы будут удалены все записи.
Вот соответствующий запрос: WHERE S_Quantity = 0
Из таблицы склада store удаляются все записи о товаре, которого нет на складе. Отметим, что если с записями этой таблицы связаны записи другой таблицы, например, движения товара, то может потребоваться их предварительное удаление, что связано с действием бизнес-правил и налагаемыми ими ограничениями. Как уже отмечалось, в зависимости от способа формирования SQL-запрос может быть § статическим; § динамическим.
Текст статического SQL-запроса формируется при разработке приложения и в процессе выполнения приложения не может быть изменен. Такой запрос обычно используется в случаях, когда код запроса заранее известен и во время работы приложения не требует модификации.
Динамический SQL-запрос формируется или изменяется при выполнении приложения. Такой запрос обычно применяется, если его текст зависит от действий пользователя, например, при управлении сортировкой набора данных, когда в тексте запроса изменяются названия полей и добавляется или исключается описатель DESC. Рассмотрим в качестве примера процедуру, в которой осуществляется формирование динамического запроса: procedure TForml.btnSortClick(Sender: TObject); var str: string; Queryl.Close; Queryl.SQL.Clear; Queryl.SQL.Add('SELECT * FROM Personnel. db'); 0: str:='ORDER BY Name '; 1: str:='ORDER BY BirthDay '; end; 0:; 1: str:=str + ' DESC; end; Queryl.SQL.Add(str); Query1.Open; end; При нажатии кнопки btnSort список сотрудников сортируется по полям Name или BirthDay. Пользователь управляет выбором поля с помощью группы RadioGroupl независимых переключателей. В группе RadioGroup2 выбирается порядок сортировки. Для настройки статического SQL-запроса во время выполнения приложения в его тексте можно использовать параметры. Параметр есть специальная переменная, перед именем которой ставится двоеточие в тексте запроса. Двоеточие не является частью имени параметра и ставится только в тексте запроса. Как и для обычных переменных программы, в процессе выполнения приложения на место параметра подставляется его значение. Параметры удобно использовать для передачи в текст SQL-запроса внешних значений. Например, если необходимо вывести фамилии сотрудников с окладом не менее указанного в редакторе Editl, то организовать формирование и выполнение динамического запроса можно следующим образом: procedure TForml.ButtonlClick(Sender: TObject);
Дата добавления: 2014-01-07; Просмотров: 324; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |