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

Код: 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
16.11.2020, 18:52
    #40019054
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка: выражение 'Ivan' не м.б. использовано как адресат назначения
Код: 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
16.11.2020, 18:58
    #40019062
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка: выражение 'Ivan' не м.б. использовано как адресат назначения
...
Рейтинг: 0 / 0
16.11.2020, 20:09
    #40019117
LiQuid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка: выражение 'Ivan' не м.б. использовано как адресат назначения
Благодарю за помощь.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Ошибка: выражение 'Ivan' не м.б. использовано как адресат назначения / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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