Убрал лишнюю проверку в функции

This commit is contained in:
2024-11-12 14:16:59 +03:00
parent bd1520fd02
commit 99b5d44362
3 changed files with 2 additions and 10 deletions

View File

@@ -4,10 +4,6 @@ create or replace function convert_to_initials(
p_patronymic varchar
) returns varchar as $$
begin
if p_name is null or p_name = '' or p_surname is null or p_surname = '' then
return '';
end if;
if p_patronymic is null or p_patronymic = '' then
return concat(substring(p_name from 1 for 1), '. ', p_surname);
end if;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File

@@ -567,9 +567,9 @@ grant usage, select on sequence shot_series_id_shot_series_seq to edit_user;
\subsection{Работа 4: Создание функций и процедур}
\textbf{Задача:} Создать функцию и использовать её в запросе. Создать процедуру, которая будет создавать новые записи в таблицах по определённым условиям.
\textbf{Формулировка задачи:} Создать функцию \texttt{convert\_to\_initials}, которая будет получать на вход строки с ФИО, а возвращать строку с инициалами. Создать процедуру \texttt{create\_participant\_request}, которая по заданной информации о соревновании, спортсмене и дивизионе будет создавать заявку на участие в соревновании.
\textbf{Формулировка задачи:} Создать функцию \texttt{convert\_to\_initials}, которая будет получать на вход строки с ФИО, а возвращать строку с инициалами. Функция должна корректно обрабатывать случай, когда отчество отсутствует. Создать процедуру \texttt{create\_participant\_request}, которая по заданной информации о соревновании, спортсмене и дивизионе будет создавать заявку на участие в соревновании.
Код определения функции \texttt{convert\_to\_initials} представлен на Рис.~\ref{lst:convert_to_initials}. Функция принимает на вход три параметра типа \texttt{varchar}: \texttt{p\_name} -- имя, \texttt{p\_surname} -- фамилия, \texttt{p\_patronymic} -- отчество. Возвращает также \texttt{varchar} -- строку с инициалами. Если имя или фамилия не заданы, функция возвращает пустую строку. Функция также отдельно обрабатывает случай, когда не задано отчество, в таком случае инициалы будут состоять только из первой буквы имени и фамилии. Код запроса с использованием этой функции представлен на Рис.~\ref{lst:convert_query}, а результат его выполнения на Рис.~\ref{fig:conver_result}.
Код определения функции \texttt{convert\_to\_initials} представлен на Рис.~\ref{lst:convert_to_initials}. Функция принимает на вход три параметра типа \texttt{varchar}: \texttt{p\_name} -- имя, \texttt{p\_surname} -- фамилия, \texttt{p\_patronymic} -- отчество. Возвращает также \texttt{varchar} -- строку с инициалами. Функция отдельно обрабатывает случай, когда не задано отчество, в таком случае инициалы будут состоять только из первой буквы имени и фамилии. Код запроса с использованием этой функции представлен на Рис.~\ref{lst:convert_query}, а результат его выполнения на Рис.~\ref{fig:conver_result}.
\begin{lstlisting}[mathescape=true, caption={Код определения функции \texttt{convert\_to\_initials}.}, label={lst:convert_to_initials}]
@@ -579,10 +579,6 @@ create or replace function convert_to_initials(
p_patronymic varchar
) returns varchar as $$
begin
if p_name is null or p_name = '' or p_surname is null or p_surname = '' then
return '';
end if;
if p_patronymic is null or p_patronymic = '' then
return concat(substring(p_name from 1 for 1), '. ', p_surname);
end if;