Убрал лишнюю проверку в функции
This commit is contained in:
@@ -4,10 +4,6 @@ create or replace function convert_to_initials(
|
|||||||
p_patronymic varchar
|
p_patronymic varchar
|
||||||
) returns varchar as $$
|
) returns varchar as $$
|
||||||
begin
|
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
|
if p_patronymic is null or p_patronymic = '' then
|
||||||
return concat(substring(p_name from 1 for 1), '. ', p_surname);
|
return concat(substring(p_name from 1 for 1), '. ', p_surname);
|
||||||
end if;
|
end if;
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 48 KiB |
@@ -567,9 +567,9 @@ grant usage, select on sequence shot_series_id_shot_series_seq to edit_user;
|
|||||||
\subsection{Работа 4: Создание функций и процедур}
|
\subsection{Работа 4: Создание функций и процедур}
|
||||||
\textbf{Задача:} Создать функцию и использовать её в запросе. Создать процедуру, которая будет создавать новые записи в таблицах по определённым условиям.
|
\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}]
|
\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
|
p_patronymic varchar
|
||||||
) returns varchar as $$
|
) returns varchar as $$
|
||||||
begin
|
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
|
if p_patronymic is null or p_patronymic = '' then
|
||||||
return concat(substring(p_name from 1 for 1), '. ', p_surname);
|
return concat(substring(p_name from 1 for 1), '. ', p_surname);
|
||||||
end if;
|
end if;
|
||||||
|
|||||||
Reference in New Issue
Block a user