|
Программирование >> Реализация баз данных
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. Операторы, удаляющие данные, работают как с представлениями, так и с таблицами (с некоторыми ограничениями).
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |