×
Traktatov.net » Обработка баз данных на Visual Basic.NET » Читать онлайн
Страница 47 из 229 Настройки

>SELECT Name, UnitPrice

>FROM tblItem

>WHERE (UnitPrice > (SELECT AVG(UnitPrice) FROM tblItem)

В этом случае оказывается, что запрос и подзапрос обращаются к одной и той же таблице, но это не принципиально. Подзапросы могут делать запросы к любой таблице в базе данных, главное – чтобы они возвращали одиночное значение.

Приведенная выше инструкция SQL возвращает следующий результирующий набор:

Name UnitPrice
Rubber Chicken 5.99
Disappearing Penny Magic Trick 3.99
Loaded Dice 3.49
Whoopee Cushion 5.99

Манипулирование данными с помощью SQL

Команда манипулирования данными (data manipulation command) — это команда SQL, которая изменяет записи. Такие команды создаются на языке манипулирования данными DML, который является подмножеством языка SQL. Эти команды не возвращают записи, а только изменяют их в базе данных.

DML-команды SQL обычно применяются для изменения большого объема данных на основе заданного критерия. Например, для повышения на 10% цены всех товаров следует использовать запрос на обновление, который автоматически выполнит такие изменения для всех товаров.

В среде Visual Studio .NET предусмотрен очень мощный интерфейс для выполнения DML-команд. Действительно, инструменты среды Visual Studio .NET могут пре

доставить полезную информацию (например, правильную строку подключения для соединения с базой данных) или генерировать в окне конструктора основные DML-команды при извлечении данных из таблицы или изменении типа запроса.

НА ЗАМЕТКУ

Примеры в этом разделе демонстрируют способы изменения данных в базе данных Novelty. Если после многочисленных попыток изменить данные вы хотите вернуть базу данных Noveltу в ее прежнее состояние, то ее можно переустановить, запуская описанный во введении к этой книге сценарий.

На низком уровне (т.е. не на уровне графического интерфейса пользователя) DML-команды SQL можно использовать с помощью следующих двух инструментов:

• Microsoft SQL Server Query Analyzer (или просто Query Analyzer) — инструмент с графическим интерфейсом пользователя для создания запросов и команд для SQL Server;

• osql — используемый в режиме командной строки процессор запросов.

Вы можете использовать любой из этих инструментов, а в данной главе применяется Query Analyzer, который обладает более широкими возможностями и более удобен в употреблении, чем процессор запросов osql. В настоящей главе основное внимание сосредоточено на фактически выполняемых командах, а не на методах использования графического интерфейса Query Analyzer. Инструмент Query Analyzer находится в группе программ Microsoft SQL Server. (В главе 7, "ADO.NET: дополнительные компоненты", более подробно рассматриваются способы применения DML-команд в среде Visual Studio.NET.)

Запросы на обновление

Запрос на обновление может изменить сразу целую группу записей. Этот запрос состоит из трех частей:

• предложение UPDATE, которое указывает на обновляемую таблицу;

• предложение SET, задающее данные для обновления;

• необязательный критерий WHERE, ограничивающий число записей, на которые воздействует запрос на обновление.