Работа с программируемыми объектами в СУБД SQL Server
Автор: annasann5 • Декабрь 24, 2021 • Лабораторная работа • 1,215 Слов (5 Страниц) • 597 Просмотры
Министерство образования и науки РФ
Санкт-Петербургский политехнический университет Петра Великого
Институт компьютерных наук и технологий
Высшая школа киберфизических систем и управления
Лабораторная работа № 4.
по дисциплине «Корпоративные системы баз данных»
РАБОТА С ПРОГРАММИРУЕМЫМИ ОБЪЕКТАМИ В СУБД SQL SERVER. ЧАСТЬ 2.
Выполнил:
студент гр. з3530902/70202 _________________ Благодарь А.В.
подпись, дата
Проверил
доцент, к. т. н. _________________ Нестеров С.А.
подпись, дата
Санкт-Петербург 2021 г.
При выполнении этой работы будет использоваться база данных BestDatabaseBlagodar, созданная в ходе выполнения предыдущей лабораторной.
1. Запустите приложение Management Studio и выполните подключение к указанному экземпляру SQL Server (в классе это saiu-sqlsrv).
[pic 1]
Подключение к SQL Server.
2. Используя результаты предыдущей лабораторной работы получите временную таблицу #T со столбцами COD, NAME1, NAME3, BIRTHDAY, SEX, куда поместите данные из соответствующих столбцов таблицы [BestDatabase].[dbo].[PEOPLE]. Создайте табличную переменную @T2, поместите в нее перечень встречающихся имен и количество записей, в которых встречалось это имя. 6. Создайте целочисленную переменную @MaxI, присвойте ей значение, соответствующее максимальному числу повторений имени из таблицы @T1.
[pic 2]
Выполнение запроса.
3. В цикле выведите отдельным запросом имя и к-во повторений имени для всех значений от @MaxI до 1 (перебираем значения от большего к меньшему). Например:
[pic 3]
[pic 4]
Создание цикла и вывод результата.
Измените ход выполнения цикла, так чтобы пропускался вывод имен, встреченных 3 раза.
[pic 5]
Добавление в цикл оператора CONTINUE.
Снова измените ход выполнения цикла, так чтобы прерывался на цифре 4, т.е. выводились только имена с числом повторений от @MaxI до 5 (или ничего бы не выводилось, если @MaxI<=4).
[pic 6]
Добавление в цикл оператора BREAK.
4. Используя системные хранимые процедуры получите: - Список учетных записей пользователей SQL Server - Информацию о таблице [dbo].[PEOPLE]: владельца, дату создания, информацию о столбцах…. - Перечень хранимых процедур, определенных в базе BestDatabase.
[pic 7]
Список учетных записей пользователей SQL Server.
[pic 8]
Информация о таблице [dbo].[PEOPLE]: владельца, дату создания, информацию о столбцах.
[pic 9]
Перечень хранимых процедур, определенных в базе BestDatabaseBlagodar.
5. Оформите действия, выполненные на шагах 2,3 в виде хранимой процедуры dbo.spMyProc. В качестве входного параметра процедура принимает значение 1, 2 или 3, которое соответствует первому, второму или третьему варианту реализации цикла while. В качестве выходного значения возвращается значение переменной @MaxI. При нормальном завершении работы процедура возвращает код 0. Если временная таблица #T уже существует, процедура заканчивает работу, возвращая код 1. Если список имен не сформирован (в #T пустое множество записей), процедура возвращает 2. Если в качестве входного параметра получено значение, отличное от 1, 2 или 3 – процедура возвращает 4. Выполните вызов процедуры с анализом возвращаемого значения, если процедура вернула 0, выведите значение выходного параметра с максимальным числом повторения имени. Протестируйте возможные варианты работы.
Напишем несколько хранимых процедур. Для вызова окна, в котором мы будем писать хранимую процедуру необходимо выполнить Обозреватель объектов -> Базы данных -> Universitet -> Программирование -> Хранимые процедуры -> Создать хранимую процедуру.
[pic 10]
После чего на экране появится заготовка для написания текста требуемой хранимой процедуры:
[pic 11][pic 12][pic 13][pic 14]
Создадим новый запрос [pic 15] и в открывшемся окне запроса введем текст. После запустим запрос на выполнение [pic 16] и на вкладке Результаты увидим результат работы написанной нами процедуры.
...