powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Ошибка: выражение 'Ivan' не м.б. использовано как адресат назначения
4 сообщений из 4, страница 1 из 1
Ошибка: выражение 'Ivan' не м.б. использовано как адресат назначения
    #40019045
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Пишу вот такой код:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
CREATE OR REPLACE PROCEDURE COMBINE_AND_FORMAT_NAMES (

   first_name_in IN OUT VARCHAR2,
   last_name_in IN OUT VARCHAR2,
   name_format_in IN VARCHAR2 := 'LAST FIRST',
   full_name_out OUT VARCHAR2)
   
IS

BEGIN

   /* Преобразование имени и фамилии к верхнему регистру. */
   first_name_in := UPPER (first_name_in); 
   last_name_in := UPPER (last_name_in);
   
   /* Объединение имени и фамилии в соответствии с форматной строкой. */
   IF name_format_in = 'LAST FIRST'
   THEN
      full_name_out := last_name_in || ', ' || first_name_in;
    --  DBMS_OUTPUT.PUT_LINE(full_name_out);
   ELSIF name_format_in = 'FIRST LAST'
   THEN
      full_name_out := first_name_in || ' ' || last_name_in;
     -- DBMS_OUTPUT.PUT_LINE(full_name_out);
   END IF;
   
END;



Вызываю:
Код: plsql
1.
2.
3.
BEGIN
    COMBINE_AND_FORMAT_NAMES('Ivan', 'Ivanov','LAST FIRST', 'TEST');
END;



Oracle SQL Developer ругается:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Error starting at line : 29 in command -
BEGIN
    COMBINE_AND_FORMAT_NAMES('Ivan', 'Ivanov','LAST FIRST', 'TEST');
END;
Error report -
ORA-06550: Строка 2, столбец 30:
PLS-00363: выражение 'Ivan' не м.б. использовано как адресат назначения
ORA-06550: Строка 2, столбец 38:
PLS-00363: выражение 'Ivanov' не м.б. использовано как адресат назначения
ORA-06550: Строка 2, столбец 61:
PLS-00363: выражение 'TEST' не м.б. использовано как адресат назначения
ORA-06550: Строка 2, столбец 5:
PL/SQL: Statement ignored
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:



Где я ошибаюсь?
...
Рейтинг: 0 / 0
Ошибка: выражение 'Ivan' не м.б. использовано как адресат назначения
    #40019054
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
DECLARE
P1 varchar2(20) := 'Ivan';
P2 varchar2(20) := 'Ivanov';
P4 varchar2(20) := 'TEST';

PROCEDURE COMBINE_AND_FORMAT_NAMES (
   first_name_in IN OUT VARCHAR2,
   last_name_in IN OUT VARCHAR2,
   name_format_in IN VARCHAR2 := 'LAST FIRST',
   full_name_out OUT VARCHAR2)
IS
BEGIN
   /* Преобразование имени и фамилии к верхнему регистру. */
   first_name_in := UPPER (first_name_in);
   last_name_in := UPPER (last_name_in);
   /* Объединение имени и фамилии в соответствии с форматной строкой. */
   IF name_format_in = 'LAST FIRST'
   THEN
      full_name_out := last_name_in || ', ' || first_name_in;
    --  DBMS_OUTPUT.PUT_LINE(full_name_out);
   ELSIF name_format_in = 'FIRST LAST'
   THEN
      full_name_out := first_name_in || ' ' || last_name_in;
     -- DBMS_OUTPUT.PUT_LINE(full_name_out);
   END IF;
END;
BEGIN
--    COMBINE_AND_FORMAT_NAMES('Ivan', 'Ivanov','LAST FIRST', 'TEST');
   COMBINE_AND_FORMAT_NAMES(P1, P2 ,'LAST FIRST', P4);
END;
/

PL/SQL procedure successfully completed.




Дальше сам разберешься?
...
Рейтинг: 0 / 0
Ошибка: выражение 'Ivan' не м.б. использовано как адресат назначения
    #40019062
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Ошибка: выражение 'Ivan' не м.б. использовано как адресат назначения
    #40019117
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Благодарю за помощь.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Ошибка: выражение 'Ivan' не м.б. использовано как адресат назначения
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]