- •Н.И. Коваленко
- •Коваленко н.И., Банчук г.Г.
- •Коваленко Надежда Ивановна
- •Тема I. Общие сведения о ms sql Server 2000
- •1. Базы данных типа клиент/сервер
- •Система типа клиент/сервер
- •2. История sql Server
- •Основные количественные показатели системы sql – сервер
- •3. Обзор sql Server 2000
- •4. Стандартные объекты sqlServer
- •ТемаIi. Работа с ms sqlServer2000 и его компонентами
- •1. Запуск, приостановка и завершение работы sqlServer
- •2. SqlServerEnterpriseManager
- •3. Программа sqlServerQueryAnalyzer
- •Панель инструментов утилиты Query Analyzer
- •4. Обслуживание баз данных
- •Файлы операционной системы, используемые sql Server 2000:
- •Структура базы данных
- •5. УстановкаMicrosoftSqlServer2000
- •Ограничения инсталляции sql-сервера
- •ТемаIii. Работа с базой данных создание и использование индексов и ключей
- •1. Базы данных и их свойства
- •Описание ролей, используемых для доступа к базе данных и серверу баз данных
- •Дополнительные опции настройки базы данных
- •Настройка параметров доступа к базе данных
- •2. Таблицы базы данных.
- •3. Типы данных, используемые в sql-сервере
- •Текстовые типы данных
- •Типы данных даты и времени
- •Типы данных для хранения больших объемов информации
- •Типы данных специального назначения:
- •4. Основные операции с базами данных
- •5. Восстановление бд (администрированиеSqlServer2000)
- •6. Создание и использование индексов и ключей в системе sql Server.
- •7. Использование ограничений
- •8. Использование диаграмм для разработки структуры базы данных
- •9. Создание представлений (видов)
- •ТемаIv. Правила и создание значения
- •1. Инструменты контроля целостности данных
- •2. Создание правил и стандартных значений
- •ТемаV. Триггеры в системеSql–сервер
- •1. Понятие триггера. Типы триггеров
- •2. Создание триггеров
- •3. Использование триггеров. Виды триггеров
- •ТемаVi. Оптимизация запросов и основы sql
- •1. Оптимизация запросов
- •2. Основные операторы sql в sql Server 2000
- •3. Объединение таблиц в операторе select
- •From titles
- •4. Использование директив group by иHaving
- •5. Оператор insert
- •6. ОператорUpdate
- •7. ОператорDelete
- •8. ОператорCreatetable
- •ТемаVii. Создание и работа с представлениями
- •1. Основные сведения о представлениях
- •2. Создание представлений. Отображение представлений
- •3. Редактирование представлений. Отображение зависимостей представлений. Создание представлений и представлений
- •4. Переименование столбцов представлений. Переименование представлений. Удаление представлений
- •5. Изменение данных посредством представлений. Обновление данных с помощьюSqlServerEnterpriseManager
- •ТемаViii. Создание и использование курсоров
- •1. Понятие курсора
- •2. Выборка данных из курсора
- •3. Операторы и глобальные переменные для работы с курсорами
- •4. Примеры использования курсоров
- •ТемаIx. Использование хранимых процедур
- •1. Достоинства и недостатки хранимых процедур
- •2.Создание хранимой процедуры
- •3. Операторы языка управления программой. Оператор declare
- •4. Операторы goto, begin…end и if…else
- •5. Операторы waitfor, return, while, break и continue
- •6. Операторы print и raiserror
- •7. Использование параметров в хранимых процедурах
- •8. Глобальные переменные. Отладка хранимых процедур
- •Тема X. Транзакции и блокировки
- •1. Определение транзакции. Ограничения для транзакций. Уровни изоляции транзакций
- •2. Базовая информация о блокировках. Типы блокировок
- •3. Создание транзакций и работа с ними. Точки сохранения
- •4.Отображение информации о блокировках. Явное задание блокировки
- •Описание параметров для явного задания блокировок
- •ТемаXi. Система безопасностиSqlServer2000
- •1. Типы безопасности. Создание и управление бюджетами пользователей
- •Стандартные роли сервера
- •Стандартные роли базы данных
- •2. Добавление новых пользователей. Удаление идентификаторов и пользователей
- •3. Создание ролей. Удаление ролей
- •4. Права доступа. Управление правами доступа
- •ТемаXii. Использование распределенных объектов управления.
- •1.Sql-dmo. Назначение, возможности
- •2. Экспорт данных с помощью команды вср
- •3. Использование объектовSql-dmOв хранимых процедурах
- •ТемаXiii. Основные сведения о хранилищах данных
- •1. Хранилища данных. Системы поддержки принятия решений (dss). Интерактивная аналитическая обработка (olap)
- •Сравнение субд и хранилища данных
- •2. Компоненты хранилища данных. Хранилища данных и магазины данных
- •3. Преобразование данных. Метаданные
- •4. Разработка плана хранилища данных
- •Microsoft Repository
- •С помощью мастера dts можно выполнять также простые преобразования данных, сложные преобразования выполняются с помощью dts Designer.
- •ТемаXiv. Использование служб преобразования данных
- •1. Службы преобразования данных (dts).DtSи хранилища данных
- •2. СредствоDtsDataPump
- •3. МастераDts
- •4. ИспользованиеDtsDesigner
- •Тема XV. Службы olap Microsoft sql Server
- •1.OlaPи многомерные данные
- •2. Хранение данных в бдolap
- •3. Оптимизация базы данныхOlap
- •4. Доступ к многомерным данным
6. Операторы print и raiserror
Оператор PRINT – с помощью этого оператора можно вызвать сообщение в обработчик сообщений клиента. Сообщение может иметь длину до 1024 символов. Синтаксис оператора PRINT:
PRINT ‘любой ASCII текст’ | @локальная_переменная | @@ FUNCTION | строковое_выражение
При выводе на печать значения локальной или глобальной переменной его с начало нужно преобразовать в тип CHAR или VARCHAR.
Оператор RAISERROR – устанавливает системный признак SQL Server, чтобы обозначить факт возникновения ошибки и посылает сообщения об ошибке клиенту.
Синтаксис оператора:
RAISERROR ({Номер сообщения | Строка_сообщения}, серьезность, состояние [, аргумент1 [, аргумент 2]])
[WITH (LOG | NOWAIT | SETERROR)]
Опция WITH LOG используется для записи сообщений об ошибках в журнал ошибок SQL Server и журнал приложений Windows NT.
Комментарии в хранимой процедуре начинаются и заканчиваются символами /*….*/, можно использовать также друге стили: ** или _ _.
7. Использование параметров в хранимых процедурах
Система передачи параметров позволяет писать более гибкие хранимые процедуры, поскольку значения параметров определяются в момент вызова процедуры, а не во время её компиляции. В результате значения параметров могут изменяться при каждом запуске хранимой процедуры. Имена параметров начинаются с символа @. Параметры могут быть входными и выходными
Входные параметры используются для передачи значений в хранимую процедуру. Входные параметры имеют следующий синтаксис:
CREATE PROC Имя процедуры @параметр1 тип_данных,…
@ параметр N тип_данных
Пример:
CREATE PROC usp_input @ temp_name VARCHAR (30),
@ total INT,
@ current_date DATETIME
Передавать значения в хранимую процедуру можно различными способами. Синтаксис стандартного способа передачи значений:
EXEC usp_input ‘Spenik & Sledge’, 1000, ‘03/25/96’
Вместо передачи по значениям можно организовать передачу данных с помощью других переменных (того же типа):
EXEC usp_input @authоrs_name, @new_total, @my_dame
Еще один способ передачи параметров – использование имен параметров, в этом случае порядок параметров может быть любой. Однако, если для одного из параметров использовано имя, то и для всех следующих параметров нужно применять имена:
EXEC usp_input @ total=1000,
@ temp_name = ‘Spenik & Sledge’
@ current_date =’03/25/36’
Входные параметры могут иметь стандартные значения (они действуют по умолчанию). Для присвоения стандартного значения входному параметру используется синтаксис:
@ имя_параметра тип_данных = стандартное_значение
Если процедура вызывается без проверки параметра, будет использовано его стандартное значение.
Для использования входного параметра в хранимой процедуре достаточно сослаться на его имя.
Если при вызове процедуры значения параметров явно не указываются, и для этих параметров отсутствуют стандартные значения, таким параметрам присваивается значение NULL. Если хранимая процедура используется для вставки данных (INSERT), причем данные зависят от входных параметров, эти параметры не могут быть пустыми значениями.
Выходные параметры используются для возврата значений клиентскому приложению из хранимой процедуры. Синтаксис объявления выходного параметра выглядит таким образом:
CREATE PROCEDURE имя_процедуры @имя_параметра тип_данных OUT[PUT]
Пример:
CREATE PROCEDURE usp_test @p1 INT OUT
Чтобы вызвать процедуру с выходным параметром, нужно объявить переменную для хранения возвращаемого значения (эта переменная может иметь имя, отличное от выходного параметра).
При вызове процедуры необходимо указать ключевое слово OUT (OUTPUT), например:
EXEC usp_test @V1 OUT
После выполнения процедуры значение выходного параметра @V1 можно использовать для дальнейшей обработки. При работе с выходными параметрами также можно использовать их имена.