Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основа курсач.docx
Скачиваний:
69
Добавлен:
14.12.2018
Размер:
234.62 Кб
Скачать

2.5.3 Функції

Абитуриенты из региона() – приймає на вхід назву регіону, повертає данні про студенців з цього регіону

Код функції

CREATE OR REPLACE FUNCTION public."Абитуриенты из региона"(text)

RETURNS SETOF "Абитуриент" AS

$BODY$

SELECT А.* FROM "Абитуриент" А

INNER JOIN "Место проживания" М ON М."Код" = А."Место проживания"

WHERE М."Территория" = $1;

$BODY$

LANGUAGE sql;

Абитуриенты на специальность() - приймає на вхід назву спеціальності, повертає данні про студенців на цій спеціальності

Код функції

CREATE OR REPLACE FUNCTION public."Абитуриенты на специальность"(text)

RETURNS SETOF "Абитуриент" AS

$BODY$

SELECT * FROM "Абитуриент" WHERE "Специальность" IN (SELECT "Код" FROM "Специальность" WHERE "Название" = $1)

ORDER BY "Фамилия";

$BODY$

LANGUAGE sql

Предметы по специальности() - приймає на вхід назву спеціальності, повертає данні про предмети на цій спеціальності

Код функції

CREATE OR REPLACE FUNCTION public."Предметы по специальности"(IN text)

RETURNS TABLE("Код предмета" integer, "Название" text) AS

$BODY$

SELECT "Предм_Код", "Предм_Название" FROM "Предметы для специальностей" WHERE "Спец_Название" = $1;

$BODY$

LANGUAGE sql

2.5.4 Запити

  1. Запит додає новий запис до таблиці «Место проживания»

INSERT INTO "Место проживания"("Индекс", "Территория", "Населенный пункт", "Улица", "Номер дома", "Телефон")

VALUES(657855, 'Киевская область', 'Киев', 'Андреувский спуск', 1, '4564354');

  1. Запит з некорректними диними що оброблюється тригером

INSERT INTO "Место проживания"("Индекс", "Территория", "Населенный пункт", "Улица", "Номер дома", "Телефон")

VALUES(657855, 'Киевская область', 'Киев', 'Андреувский спуск', 1, '45654');

Вивід консолі

  1. Запит що виводить данні з представлення «10 лучших абитуриентов»

SELECT * FROM "Льготники";

  1. Запит виводить суму балів ЗНО усіх абітурієнтів

SELECT А."Фамилия", А."Имя", SUM(О."Оценка") AS "Сумма балов" FROM "Абитуриент" А

INNER JOIN "Оценка ЗНО" О ON О."Абитуриент" = А."Рег. номер"

GROUP BY А."Фамилия", А."Имя";

  1. Запит повертає усіх абітурієнтів з певного регіону використовуючи функцію «Абитуриенты из региона»

SELECT * FROM "Абитуриенты из региона"(CAST('Одеcская область' AS text));

  1. Запит повертає кількість абітурієнтів з кожного регіону

SELECT "Территория", COUNT("Код") AS "Количество абитуриентов" FROM "Место проживания"

GROUP BY "Территория";

  1. Запит виводить дані з представлення «Предметы для специальностей»

SELECT * FROM "Предметы для специальностей";

  1. Запит виводить абітурієнтів, що мають якісь нагороди

SELECT "Имя", "Фамилия" FROM "Абитуриент"

WHERE "Наличие наград" = TRUE;

  1. Запит додає нову оцінку за ЗНО

INSERT INTO "Оценка ЗНО"("Предмет", "Оценка", "Абитуриент") VALUES(22, 80, 3);

  1. Запит виводить інформацію про абітурієнтів на спеціальності

SELECT * FROM "Абитуриент"

WHERE "Специальность" IN (

SELECT "Код" FROM "Специальность" WHERE "Название" = 'Прикладная математика')

ORDER BY "Фамилия";

Соседние файлы в предмете Базы данных