Загрузка функций и проекта "Нарушениям нет"

This commit is contained in:
2026-06-09 09:42:10 +03:00
parent a97a796fb0
commit a235e3881a
32 changed files with 635 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
CREATE OR REPLACE FUNCTION nn_db.application_get(
in_pk_user nn_db.user.pk_user%TYPE)
RETURNS TABLE(
pk_application nn_db.application.pk_application%TYPE
, car_number nn_db.application.car_number%TYPE
, description nn_db.application.description%TYPE
, fk_status nn_db.application.fk_status%TYPE
, title nn_db.status.title%TYPE
, fk_user nn_db.application.fk_user%TYPE
, username nn_db.user.username%TYPE
, pk_image nn_db.image.pk_image%TYPE
, file_name nn_db.image.file_name%TYPE
, file_ext nn_db.image.file_ext%TYPE)
AS $$
BEGIN
RETURN QUERY SELECT
nn_db.application.pk_application
, nn_db.application.car_number
, nn_db.application.description
, nn_db.application.fk_status
, nn_db.status.title
, nn_db.application.fk_user
, nn_db.user.username
, nn_db.image.pk_image
, nn_db.image.file_name
, nn_db.image.file_ext
FROM nn_db.application
INNER JOIN nn_db.status
ON nn_db.status.pk_status = nn_db.application.fk_status
INNER JOIN nn_db.user
ON nn_db.user.pk_user = nn_db.application.fk_user
LEFT JOIN nn_db.image
ON nn_db.image.fk_application = nn_db.application.pk_application
WHERE
CASE WHEN in_pk_user IS NULL
THEN nn_db.application.fk_user IN (SELECT nn_db.user.pk_user FROM nn_db.user)
ELSE
nn_db.application.fk_user = in_pk_user
END
ORDER BY nn_db.application.pk_application;
END;
$$ LANGUAGE plpgsql