Программирование >>  Реализация баз данных 

1 ... 63 64 65 [ 66 ] 67 68 69 ... 162


190 В .1баркз и модификация дэн11ых Глава 6

USE Pubs

INSERT INTO NewBooks (BookTitle. BookType) SELECT Title, Type

FROM Titles .

- WHERE Type = niodcook

Оператор INSERT помещает информацию, которую возвращает подзапрос SEEECT, в таблицу NewBooks.

Добавление данных с помощью оператора SELECT...INTO

Оператор SEEECT INTO позволяез создать новую таблицу и заполнить ее результатами оператора SEEECT. Конструкция INTO оператора SEEECT более подробно обсуждается в занятии

Добавление во вставленные строки данн1х тип xt, text и image

В SQL Server предусмотрено несколько методов добавления в строку значений типа ntext, text или image:

ггельно небольшие по объему данные можно задавать в операторе INSERT так же, как данные тип аг. nchar или binary;

оператотеТЕХТ позволяет выполнить непротоколируемое интерактивное обновление поля типа ntext или image. Этот оператор полностью перезаписывает любые

данные, которые указаны в обрабатываемом им столбце. Оператор WRITETEXT нельзя

использовать для обновления столбцов типа text, ntext и image в представлениях;

приложения ADO способнызадаиать большие объемы данных типа text, ntext и image с помощью метода AppendChunk;

приложения OLE DB способны записывать новые значения типа text, ntext и image посредством интерфейса ISequentialStream,

приложения ODBC используют для записи новых значений типа text, ntext и image

функцию SQLPutData;

приложение ibrary применяют функцию Dbwritetext,

Добавление данных с помощью операций массового копирования

Компоненты SQL Server для массового копирования позволяют вставлять в таблицу или представление, а также извлекать из таблицы, представления или запроса большое число строк. Массовое копирование - самый быстрый способ добавления большого числа строк к SQL Server. Операции массового копирования подробно обсуждаются в главе 7.

Модификация данных в БД SQL Server

После создания таблицы и ее заполнения данные можно изменять или обновлять. SQL Server предоставляет несколько изменения данных в существующей

оператор UPDATE;

API базы данных и курсоры;

оператор UPDATETEXT.

Обновление работает как с таблицами, так и с представлениями (с некоторыми ограничениями).



Занятие 3 Модификация данных ниых SQL Server -

Модификация данных с помощью оператора UPDATE

Оператор UPDATE способен изменять данные в одной строке, группе строк или во всех строках таблицы или представления. Его также применяют для обновления строк на удаленном сервере с помощью имени связанного сервера или

OPENDATASOURCE или OPENQUERY (если компонент доступа ОЕЕ DB, используемый для доступа к удаленному серверу, поддерживает обновление). Оператор UPDATE,

который ссылается на таблицу или представление, может изменять данные только в одной таблице в каждый отдельный момент.

Обновление пройдет успешно только в том случае, если новое значение совместимо с типом данных целевого столбца и соответствует всем ограничениям, налагаемым на столбец.

Оператор UPDATE состоит из основных конструкций:

SET;

WHERE; - . .

FROM.

Модификация данных с помощью конструкции SET

SET задает столбцы, которые следует изменить, и их новые значения. Во всех строках, которые соответствуют условию поиска, заданному конструкцией WHERE, за-

данн1х полей обновляются значениями, заданными в конструкции SET. Если конструкция WHERE не задана, обновляются все строки.

Например, показанный далее оператор UPDATE включает конструкцию SET, которая увеличивает цену книг в таблица ooks на 10%:

USE Pubs . .

UPDATE NewBooks :

SET Price = Price * 1.1

В этом операторе не используется конструкция WHERE, поэтому обновляются все

строки таблицы (если в поле Price нет пустого значения).

Модификация данных с помощью конструкции WHERE

Конструкция WHERE выполняет две функции:

задает подлежащие обновлению строки;

указывает строки исходной таблицы, из которых извлекаются данные для обновления, если также задана FROM.

Если конструкция WHERE не задана, обновляются все строки таблицы.

В следующем примере в операторе UPDATE использована конструкция WHERE, которая обновляет только строки, соответствующие определенному в конструкции условию:

USE Pubs

UPDATE NewBooks

SET BookType = popular

WHERE BookType = popularcomp

Этот оператор изменяет на popular. Если конструкция WHERE не зада-

на, то все значения в столбце BookType б1ли бы заменены значением popular. Модификация данных с помощью конструкции FROM

С помощью конструкции FROM удается заменить данные в обновляемой таблице данными из одной или нескольких таблиц или представлений. Например, в следующем примере



192 Выборка и модификации Глава 6

в операторе UPDATE в конструкцию FROM входит внутреннее данение. которое соединяет заглавия книг в таблицах и Titles:

USE Pubs . ,

UPDATE NewBooks

SET Price - litles.Price

FROM NewBooks JOIN Titles .

ON NewBooks.BookTitle = Titles.Title

Этот оператор обновляет значения столбца Price в таблице NewBooks значениями одноименного столбца из таблицы Titles.

Модификация данных с помощью API и курсоров

ADO, OLE DB и API ODBC поддерживают обновление гекушей строки в результирующем наборе, полученным приложением. Кроме того, при использовании серверного курсора ct-SQL можно обновлять текущую строку щью оператора ATE, в который входит конструкция WHERE CURRENT OF. Изменения касаются только той

строки, на которой установлен курсор. Курсоры более подробно обсуждаются в главе 7. Модификация данных типа ntext, text и image

SQL Server предоставляет несколько методов для обновления значений типа ntext, text и image:

относительно небольшие данные задаются в операторе UPDATE так же, как данные типа char, nchar или binary;

операторь!Transact-SQL WRITETEXT и UPDATETEXT позволяют обновить значение

типа text, ntext или image;

приложения ADO способны задавать большие по объему данные типа text, ntext и image с помощью метода AppendChunk-,

приложения OLE DB способны записывать новые значения типа text, ntext и image с помошью интерфейса ISequentialltream;

приложения ODBC используют для записи новых значений типа text, ntext и image функцию SQLPmData:

приложения применяют функцию

SQL Server также поддерживает обновление значений типа ntext, text или image по частям, В DB-Library такую же процедуру можно выполнить средствами функции Dbu datetext. Все остальные приложения и сценарии на языке Transact-SQL, пакеты, хранимые процедуры и триггеры разрешается использовать для обновления лишь части поля типа

ntext, text или image оператором UPDATETEXT.

Удаление данн1х из БД SQL Server

SQL Server поддерживает несколько методов удаления данных из таблиц:

оператор DELETE;

API и курсоры;

оператор TRUNCATE TABLE.

Операторы, удаляющие данные, работают как с представлениями, так и с таблицами (с некоторыми ограничениями).



1 ... 63 64 65 [ 66 ] 67 68 69 ... 162

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика