КАТЕГОРИИ: Архитектура-(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) |
Использование INSERT
Добавление данных. Управление данными Данные в таблицу SQL- сервер могут быть внесены следующими способами: 1) Спомощью команды INSERT. Используя эту команду, можно добавить как одну строку, так и множество строк. 2) С помощью программного интерфейса баз данных Database API. Этот способ включает использование ADO, OLE DB, ODBC и DB-Library. 3) С использованием команды SELECT INTO, когда результат выполнения запроса копируется в таблицу. 4) С использованием возможностей Data Transformation Services. Используя эту технологию, можно выполнять сложные операции переноса и трансформации данных с использованием множества распределенных гетерогенных источников информации. Команда INSERT позволяет вставить в таблицу одну или несколько строк. Приведем синтаксис команды INSERT: INSERT [INTO] { table_name [WITH (<table_hint_limited> [...n])] | view_name | rowset_function_limited } { [(column_list[,...n])] { VALUES ({ DEFAULT | NULL | expression }[....n]) | derived_table | execute_statement } } | DEFAULT VALUES Рассмотрим назначение каждого из аргументов команды. INTO – дополнительное ключевое слово. Оно может быть использовано в команде между словом INSERT и именем таблицы для обозначения того, что следующий параметр является именем таблицы, в которую будут вставлены данные. Table_name – имя таблицы, в которую необходимо вставить данные. WITH <table_hint_limited> – специальная конструкция, с помощью которой можно на время вставки строк в таблице установить определенный уровень блокирования. view_name – имя представления, в которое необходимо вставить данные. Изменение данных через представление должно быть разрешено. SQL Server 7.0 не может изменять с помощью одной команды данные в более чем одной исходной таблице представления. rowset_function_limited – этот аргумент содержит команды OPENQUERY и OPENROWSET, которые определяют набор данных для вставки. column_list – этот аргумент содержит список колонок строки, в которые будет производиться вставка данных. Если этот аргумент опущен, то сервер будет вставлять данные последовательно во все колонки, начиная с первой. Значения для колонок указываются аргументом VALUES. VALUES – ключевое слово, которое определяет набор данных, которые будут вставлены в таблицу. Количество аргументов VALUES определяется количеством колонок в таблице или количеством колонок в списке column_list (если таковой имеется). Для каждой колонки таблицы можно указать один из трех возможных вариантов: – DEFAULT. Будет вставлено значение по умолчанию, определенное для колонки. – NULL. При указании этого параметра в колонку, для которой разрешено хранение значений NULL, будет вставлено значение NULL. – EXPRESSION. В явном виде задает значение, которое будет вставлено в колонку таблицы. derived_table – этот аргумент может содержать команду SELECT, с помощью которой будет производиться выборка данных, которые необходимо вставить в таблицу. execute_statement – набор данных, помимо использования команды SELECT, может быть получен с помощью команды EXECUTE как результат выполнения хранимой процедуры или другой конструкции. DEFAULT VALUES – при указании этого параметра строка будет содержать только значения по умолчанию. Если для колонки не установлено значение по умолчанию, но разрешено хранение значений NULL, то в колонку будет вставлено NULL. Если же для колонки не разрешено хранение NULL, нет значения по умолчанию и в команде INSERT не указано значение для вставки, то сервер выдаст сообщение об ошибке и прервет выполнение команды. Это произойдет также в случае неправильного указания типа данных. В простейшем случае вставка данных с помощью команды INSERT предлагает использование конструкции INSERT...VALUES: INSERT [INTO] table_or_view [(column_list(..)] VALUES (data_values [...n]) Аргумент table_or_view указывает имя таблицы или представления, в которые необходимо вставить строку данных. Если необходимо быстро создать таблицу, имеющую такую структуру, чтобы в ней можно было сохранить результат выполнения запроса, то лучшим выходом будет использование команды SELECT...INTO. При выполнении запроса SELECT...INTO сервер автоматически создаст новую таблицу с нужной структурой и вставит в нее полученный набор строк. Синтаксис команды SELECT...INTO следующий: SELECT {column_name [AS] column_alias [...n]} INTO new_table FROM {source_table [..n]} <select_options> Рассмотрим назначение каждого из аргументов: Аргумент column_name указывает имя колонки таблицы, которая будет включена в результат. Указанная колонка должна принадлежать одной из таблиц, перечисленных в списке FROM {source_table[..n]}. Если колонки, принадлежащие разным таблицам, имеют одинаковые имена, то для колонки необходимо использовать псевдоним.В противном случае сервер попытается создать таблицу с колонками, имеющими одинаковые имена. В результате произойдет ошибка, и выполнение запроса будет прервано new_table – содержит имя таблицы, которая будет создана. Конструкция FROM {source_table} содержит список исходных таблиц. В более сложных запросах с помощью этой конструкции определяются условия связывания двух и более таблиц. select_options – содержит список различных параметров команды select.
Дата добавления: 2015-05-09; Просмотров: 430; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |