Практическая работа №20. Программирование в SQL92022). Практическая работа 20 Варианты заданий к практической работе 20
Скачать 55.39 Kb.
|
Практическая работа №20 Варианты заданий к практической работе №20 Общие сведенияДля получения более подробной информации о работе тех или иных операторов или функций можно запустить утилиту Books Online из состава MS SQL Server и в разделе «Указатель» набрать искомый ключевой элемент. Для выполнения заданий ориентироваться на вариант и список номеров заданий в таблице.
СпециальныезнакиипростейшиеоператорывTransactSQL Проверить работу описанной установки SET QUOTED_IDENTIFIER. Проверить работу описанной установки SET DATEFIRST. Объявлениепеременных Объявить переменную Perem1 типа денежный, а переменную Perem2 типа число с целой частью равной 8 и дробной частью равной 2. Объявить переменную Perem1 типа строка длиной 100, а переменную Perem2 типа длинное целое. Объявить переменную Perem1 типа динамическая строка с максимальной длиной 1000, а переменную Perem2 типа целое число. Объявить переменную Perem1 типа строка длиной 30, а переменную Perem2 типа число с целой частью равной 10 и дробной частью равной 3. Объявить переменную Perem1 типа дата/ время, а переменную Perem2 типа число в диапазоне от 0 до 255. Присвоениезначенийпеременнымивыводзначенийнаэкран Подсчитать среднюю цену закупленных книг (с помощью запроса SELECT) и умножить ее на значение 123,34, которое необходимо сохранить в отдельной переменной, вывести значение переменной на экран. Подсчитать суммарную цену всех закупок книг, результат поместить в переменную, вывести значение переменной на экран. Подсчитать количество книг в справочнике книг, результат поместить в переменную, вывести значение переменной на экран. Определить минимальную дату рождения автора в справочнике авторов, результат поместить в переменную, вывести значение переменной на экран. СочетаниеключевыхсловSETиSELECT Подсчитать количество поставщиков книг, результат поместить в переменную. Подсчитать сумму закупок книг, результат поместить в переменную. Подсчитать среднюю цену в таблице покупок книг, результат поместить в переменную. Подсчитать максимальную стоимость книг в закупке, результат поместить в переменную. Работасдатойивременем Определить переменную Date1 типа дата/время. Присвоить ей значение даты 31.12.2006 в формате dd.mm.yyyy. Определить переменную Date1 типа дата/время. Присвоить ей значение даты 31.12.2006 в формате mm.dd.yyyy. Определить переменную Date1 типа дата/время. Присвоить ей значение даты 31.12.2006 в формате yyyy.mm.dd. СозданиевременнойтаблицычерезпеременнуютипаTABLE Создать локальную таблицу с названием TEMP и полями типа дата/время, длинное целое, строка. Добавить в нее две записи с данными и вывести результат на экран. Создать локальную таблицу с названием TEMP и полями типа длинное целое, строка и значением по умолчанию «введите что-нибудь», денежный. Добавить в нее две записи с данными и вывести результат на экран. Создать локальную таблицу с названием TEMP и полями типа целое, динамическая строка, бит со значением по умолчанию «1». Добавить в нее две записи с данными и вывести результат на экран. Создать локальную таблицу с названием TEMP и полями типа дата/время, длинное целое, строка. Добавить в нее две записи с данными и вывести результат на экран. Создать локальную таблицу с названием TEMP и полями типа дата/время, длинное целое с автонаращиванием, динамическая строка. Добавить в нее две записи с данными и вывести результат на экран. Преобразованиетиповпеременных Объявить переменные типа FLOAT, CHAR, TINYINT. Присвоить значения, соответствующие типам. Выполнить преобразование переменных типа FLOAT, CHAR, TINYINT в INT, DATETIME, BIT соответственно и вывести результат на экран. Объявить переменные типа INT, DATETIME, BIT. Присвоить значения, соответствующие типам. Выполнить преобразование переменных типа INT, DATETIME, BIT в FLOAT, CHAR, TINYINT соответственно и вывести результат на экран. Объявить переменные типа NUMERIC, VARCHAR, DATETIME. Присвоить значения, соответствующие типам. Выполнить преобразование переменных типа NUMERIC, VARCHAR, DATETIME в FLOAT, CHAR, BIGINT соответственно и вывести результат на экран. Объявить переменные типа BIT, NVARCHAR, DATETIME. Присвоить значения, соответствующие типам. Выполнить преобразование переменных типа BIT, NVARCHAR, DATETIME в FLOAT, INT, BIGINT соответственно и вывести результат на экран. УсловнаяконструкцияIF Подсчитать количество поставщиков в таблице Deliveries. Если их в таблице от 2 до 5, то ничего не сообщать, в противном случае вывести сообщение вида "В таблице ... поставщиков" (вместо многоточия поста вить точное количество поставщиков). Подсчитать сумму закупок книг в таблице покупок. Если полученная сумма в диапозоне от 1000 до 5000, то ничего не сообщать, в против- ном случае вывести сообщение вида "Сумма закупок = …" (вместо многоточия поставить точную сумму). Подсчитать среднюю стоимость закупки книг в таблице покупок. Если полученная стоимость в диапозоне от 1000 до 5000, то ничего не сообщать, в противном случае вывести сообщение вида "Средняя стоимость закупки = …" (вместо многоточия поставить точную среднюю стоимость). Определить минимальную стоимость закупки книг в таблице покупок. Если полученная стоимость в диапозоне от 200 до 300, то ничего не сообщать, в противном случае вывести сообщение вида "Минимальная стоимость закупки = …" (вместо многоточия поставить точную стоимость). ЦиклWHILE Определить количество записей в таблице Authors. Пока записей меньше 15, делать в цикле добавление записи в таблицу с автоматическим наращиванием значения ключевого поля, а вместо имени автора ставить значение 'Автор не известен'. Определить количество записей в таблице издательств. Пока записей меньше 20, делать в цикле добавление записи в таблицу с автоматическим наращиванием значения ключевого поля, а вместо названия издательства ставить значение 'не известно'. Определить количество записей в таблице поставщиков. Пока записей меньше 17, делать в цикле добавление записи в таблицу с автоматическим наращиванием значения ключевого поля, а вместо названия поставщика ставить значение 'не известен'. Объявлениекурсора Создать статический курсор по данным таблицы Books с полями Code_book, Title_book. Создать динамический курсор по данным таблицы поставщиков (таблица Deliveries) с полями Name_delivery, Name_company. Создать статический курсор по данным таблицы Books и Authors с полями Code_book, Title_book, Name_author. Создать статический курсор по данным таблицы Books и Publishing_house с полями Code_book, Title_book, Publish. Операторыдляработыскурсором Создать динамический курсор для чтения по данным таблицы Deliveries с полями Code_delivery, Name_delivery. Вывести данные 3-й записи. Сделать текущей БД db_books. Поместить в курсор данные таблицы Purchases. Перебрать все записи таблицы Purchases. Просуммировать значения произведений полей Cost и Amount и результат сохранить в переменной Sum_table, которую после суммирования вывести на экран. Закрыть и удалить из памяти курсор. Объявить статический курсор по данным таблиц Authors и Books. Вывести данные 5-й записи. Использование функций для работы со сторовыми переменными Базовый текст дан в отдельном файле по вариантам. Для выполнения этого блока заданий в начале программы, которую вы создаете, объявите переменную типа varchar и присвойте ей в качестве значения строку с любым базовым текстом, который будет анализироваться и/или исправляться в заданиях. Удалить в тексте лишние пробелы. Лишними считаются те, которые идут непосредственно за пробелом. Подсчитать количество исправлений. Подсчитать количество встреч каждой из следующих букв: "а", "в", "и", "п" в базовом тексте. Подсчитать доли процентов встречи следующих букв: "е", "о", если суммарный процент встречаемости всех этих букв равен 100% или процент встречаемости е% + о% равен 100%. По правилам оформления машинописных текстов перед знаками .,!?:; пробелы не ставятся, но обязательно ставятся после этих знаков. Удалите лишние пробелы. Подсчитать количество исправлений. По правилам оформления машинописных текстов перед знаками .,!?:; пробелы не ставятся, но обязательно ставятся после этих знаков. Расставьте недостающие пробелы. Подсчитать количество исправлений. Найти из исходного текста второе предложение и вернуть его в переменную Perem, а также вывести на экран весь исходный текст и найденное предложение. Удалить из базового текста 2, 4, 6, 8 слова. Удалить из базового текста 3, 5, 7, 10 слова. Вставить в базовый текст вместо букв «а» - «АА». Вставить в базовый текст вместо букв «е» и «о» - «ББ». Поменять местами первое и последнее слова в базовом тексте. Использованиефункцийдляработысчислами Вывести значение формулы (1), переменные которой нужно опи- сать и присвоить произвольные значения. v v0 e . (1) Подсчитать значение формулы (2), переменные которой нужно описать и присвоить произвольные значения. . (2) y 2 x exp(ln(x2 )) Подсчитать значение формулы (3), переменные которой нужно описать и присвоить произвольные значения. y sin(a) a. (3) x2 b3 Подсчитать значение формулы (4), переменные которой нужно описать и присвоить произвольные значения. 10 y In a n1 . (4) Подсчитать значение формулы (5), переменные которой нужно описать и присвоить произвольные значения. y tg(a) a b c . (5) Подсчитать значение формулы (6), переменные которой нужно описать и присвоить произвольные значения. y . (6) Подсчитать значение формулы (7), переменные которой нужно описать и присвоить произвольные значения. y x4 ln(a) b c. (7) Подсчитать значение формулы (8), переменные которой нужно описать и присвоить произвольные значения. yxa b3 . (8) Подсчитать значение формулы (9), переменные которой нужно описать и присвоить произвольные значения. y a cos(x) sin(x) b2 a2 . (9) Использованиефункцийдляработыстипомдата/время Вывести на экран название текущего месяца и текущее время. За- писать в таблицу Purchases в поле Date_order одинаковую дату поступле- ния, которая равна 12.03.2000. Разобрать на отдельные составляющие текущую дату и время и вы- вести значения на экран в следующем порядке (вместо многоточий): "Сегодня: День = …, Месяц = …, Год = …, Часов = …, Минут = …, Секунд= …" В исходный текст, сохраненный в переменной Perem, после слова " время " вставить текущее время. Результат сохранить в той же переменной Perem и вывести на экран. |