Для получения более подробной информации о работе тех или иных операторов или функций можно запустить утилиту Books Online из состава MS SQL Server и в разделе «Указатель» набрать искомый ключевой элемент.
Для выполнения заданий ориентироваться на вариант и список номеров в задании №2.
Специальные знаки и простейшие операторы в Transact SQL
1. Проверить работу описанной установки SET
QUOTED_IDENTIFIER.
2. Проверить работу описанной установки SET DATEFIRST.
Объявление переменных
3. Объявить переменную Perem1 типа денежный, а переменную
Perem2 типа число с целой частью равной 8 и дробной частью равной 2.
4. Объявить переменную Perem1 типа строка длиной 100, а переменную Perem2 типа длинное целое.
5. Объявить переменную Perem1 типа динамическая строка с максимальной длиной 1000, а переменную Perem2 типа целое число.
6. Объявить переменную Perem1 типа строка длиной 30, а переменную Perem2 типа число с целой частью равной 10 и дробной частью равной 3.
7. Объявить переменную Perem1 типа дата/ время, а переменную Perem2 типа число в диапазоне от 0 до 255.
Присвоение значений переменным и вывод значений на экран
8. Подсчитать среднюю цену закупленных книг (с помощью запроса
SELECT) и умножить ее на значение 123,34, которое необходимо сохранить в отдельной переменной, вывести значение переменной на экран.
9. Подсчитать суммарную цену всех закупок книг, результат поместить в переменную, вывести значение переменной на экран.
10. Подсчитать количество книг в справочнике книг, результат поместить в переменную, вывести значение переменной на экран.
11. Определить минимальную дату рождения автора в справочнике авторов, результат поместить в переменную, вывести значение переменной на экран.
Сочетание ключевых слов SET и SELECT
12. Подсчитать количество поставщиков книг, результат поместить в переменную.
13. Подсчитать сумму закупок книг, результат поместить в переменную.
14. Подсчитать среднюю цену в таблице покупок книг, результат поместить в переменную.
15. Подсчитать максимальную стоимость книг в закупке, результат поместить в переменную.
Работа с датой и временем
16. Определить переменную Date1 типа дата/время. Присвоить ей значение даты 31.12.2006 в формате dd.mm.yyyy.
17. Определить переменную Date1 типа дата/время. Присвоить ей значение даты 31.12.2006 в формате mm.dd.yyyy.
18. Определить переменную Date1 типа дата/время. Присвоить ей значение даты 31.12.2006 в формате yyyy.mm.dd.
Создание временной таблицы через переменную типа TABLE
19. Создать локальную таблицу с названием TEMP и полями типа дата/время, длинное целое, строка. Добавить в нее две записи с данными и вывести результат на экран.
20. Создать локальную таблицу с названием TEMP и полями типа длинное целое, строка и значением по умолчанию «введите что-нибудь», денежный. Добавить в нее две записи с данными и вывести результат на экран.
21. Создать локальную таблицу с названием TEMP и полями типа целое, динамическая строка, бит со значением по умолчанию «1». Добавить в нее две записи с данными и вывести результат на экран.
22. Создать локальную таблицу с названием TEMP и полями типа дата/время, длинное целое, строка. Добавить в нее две записи с данными и вывести результат на экран.
23. Создать локальную таблицу с названием TEMP и полями типа дата/время, длинное целое с автонаращиванием, динамическая строка. Добавить в нее две записи с данными и вывести результат на экран.
Преобразование типов переменных
24. Объявить переменные типа FLOAT, CHAR, TINYINT. Присвоить значения, соответствующие типам. Выполнить преобразование переменных типа FLOAT, CHAR, TINYINT в INT, DATETIME, BIT соответственно и вывести результат на экран.
25. Объявить переменные типа INT, DATETIME, BIT. Присвоить значения, соответствующие типам. Выполнить преобразование переменных типа INT, DATETIME, BIT в FLOAT, CHAR, TINYINT соответственно и вывести результат на экран.
26. Объявить переменные типа NUMERIC, VARCHAR, DATETIME.
Присвоить значения, соответствующие типам. Выполнить преобразование переменных типа NUMERIC, VARCHAR, DATETIME в FLOAT, CHAR, BIGINT соответственно и вывести результат на экран.
27. Объявить переменные типа BIT, NVARCHAR, DATETIME. При-
своить значения, соответствующие типам. Выполнить преобразование переменных типа BIT, NVARCHAR, DATETIME в FLOAT, INT, BIGINT соответственно и вывести результат на экран.
Условная конструкция IF
28. Подсчитать количество поставщиков в таблице Deliveries. Если их в таблице от 2 до 5, то ничего не сообщать, в противном случае вывести сообщение вида "В таблице ... поставщиков" (вместо многоточия поставить точное количество поставщиков).
29. Подсчитать сумму закупок книг в таблице покупок. Если полученная сумма в диапозоне от 1000 до 5000, то ничего не сообщать, в противном случае вывести сообщение вида "Сумма закупок = …" (вместо многоточия поставить точную сумму).
30. Подсчитать среднюю стоимость закупки книг в таблице покупок.
Если полученная стоимость в диапозоне от 1000 до 5000, то ничего не сообщать, в противном случае вывести сообщение вида "Средняя стоимость закупки = …" (вместо многоточия поставить точную среднюю стоимость).
31. Определить минимальную стоимость закупки книг в таблице покупок. Если полученная стоимость в диапозоне от 200 до 300, то ничего не сообщать, в противном случае вывести сообщение вида "Минимальная стоимость закупки = …" (вместо многоточия поставить точную стоимость).
Цикл WHILE
32. Определить количество записей в таблице Authors. Пока записей меньше 15, делать в цикле добавление записи в таблицу с автоматическим наращиванием значения ключевого поля, а вместо имени автора ставить значение 'Автор не известен'.
33. Определить количество записей в таблице издательств. Пока записей меньше 20, делать в цикле добавление записи в таблицу с автоматическим наращиванием значения ключевого поля, а вместо названия издательства ставить значение 'не известно'.
34. Определить количество записей в таблице поставщиков. Пока записей меньше 17, делать в цикле добавление записи в таблицу с автоматическим наращиванием значения ключевого поля, а вместо названия поставщика ставить значение 'не известен'.
Объявление курсора
35. Создать статический курсор по данным таблицы Books с полями
Code_book, Title_book.
36. Создать динамический курсор по данным таблицы поставщиков (таблица Deliveries) с полями Name_delivery, Name_company.
37. Создать статический курсор по данным таблицы Books и Authors с полями Code_book, Title_book, Name_author.
38. Создать статический курсор по данным таблицы Books и Publishing_house с полями Code_book, Title_book, Publish.
Объявление курсора
35. Создать статический курсор по данным таблицы Books с полями Code_book, Title_book.
36. Создать динамический курсор по данным таблицы поставщиков (таблица Deliveries) с полями Name_delivery, Name_company.
37. Создать статический курсор по данным таблицы Books и Authors с полями Code_book, Title_book, Name_author.
38. Создать статический курсор по данным таблицы Books и Publishing_house с полями Code_book, Title_book, Publish.
Операторы для работы с курсором
39. Создать динамический курсор для чтения по данным таблицы Deliveries с полями Code_delivery, Name_delivery. Вывести данные 3-й записи.
40. Сделать текущей БД db_books. Поместить в курсор данные таблицы Purchases. Перебрать все записи таблицы Purchases. Просуммировать значения произведений полей Cost и Amount и результат сохранить в переменной Sum_table, которую после суммирования вывести на экран. Закрыть и удалить из памяти курсор.
41. Объявить статический курсор по данным таблиц Authors и Books.Вывести данные 5-й записи.
Использование функций для работы со сторовыми переменными
Базовый текст дан в отдельном файле по вариантам. Для выполнения этого блока заданий в начале программы, которую вы создаете, об’явите переменную типа varchar и присвойте ей в качестве значения строку с любым базовым текстом, который будет анализироваться и/или справляться в заданиях.
42. Удалить в тексте лишние пробелы. Лишними считаются те, которые идут непосредственно за пробелом. Подсчитать количество исправлений.
43. Подсчитать количество встреч каждой из следующих букв: "а", "в", "и", "п" в базовом тексте.
44. Подсчитать доли процентов встречи следующих букв: "е", "о", если суммарный процент встречаемости всех этих букв равен 100% или процент встречаемости е% + о% равен 100%.
45. По правилам оформления машинописных текстов перед знаками .,!?:; пробелы не ставятся, но обязательно ставятся после этих знаков. Удалите лишние пробелы. Подсчитать количество исправлений.
46. По правилам оформления машинописных текстов перед знаками .,!?:; пробелы не ставятся, но обязательно ставятся после этих знаков. Расставьте недостающие пробелы. Подсчитать количество исправлений.
47. Найти из исходного текста второе предложение и вернуть его в переменную Perem, а также вывести на экран весь исходный текст и найденное предложение.
48. Удалить из базового текста 2, 4, 6, 8 слова.
49. Удалить из базового текста 3, 5, 7, 10 слова.
50. Вставить в базовый текст вместо букв «а» - «АА».
51. Вставить в базовый текст вместо букв «е» и «о» - «ББ».
52. Поменять местами первое и последнее слова в базовом тексте.
Использование функций для работы с числами
53. Вывести значение формулы , переменные которой нужно описать и присвоить произвольные значения.
54. Подсчитать значение формулы, переменные которой нужно описать и присвоить произвольные значения.
55. Вывести значение формулы , переменные которой нужно описать и присвоить произвольные значения.
56. Вывести значение формулы , переменные которой нужно описать и присвоить произвольные значения.
58. Вывести значение формулы , переменные которой нужно описать и присвоить произвольные значения.
59. Вывести значение формулы , переменные которой нужно описать и присвоить произвольные значения.
60. Вывести значение формулы , переменные которой нужно описать и присвоить произвольные значения.
61. Вывести значение формулы , переменные которой нужно описать и присвоить произвольные значения.
Использование функций для работы с типом дата/время
62. Вывести на экран название текущего месяца и текущее время. За- писать в таблицу Purchases в поле Date_order одинаковую дату поступления, которая равна 12.03.2000.
63. Разобрать на отдельные составляющие текущую дату и время и вывести значения на экран в следующем порядке (вместо многоточий):
64. "Сегодня: День = …, Месяц = …, Год = …, Часов = …, Минут = …,Секунд= …"