powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / инициализация массива
5 сообщений из 5, страница 1 из 1
инициализация массива
    #32048792
Ruslan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как правильно инициализировать переменную tab1??

create or replace type rec as object
( x varchar2(100),
y varchar2(100)
);

create or replace type rec_table as table of rec;

**********************************
DECLARE

tab1 rec_table;

begin

tab1(0).x:= 'a';
tab1(0).y:= 'b';

end;
...
Рейтинг: 0 / 0
инициализация массива
    #32048847
none
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
DECLARE
tab1 rec_table :=  rec_table();
BEGIN
tab1.EXTEND;
tab1(tab1.COUNT) := rec_table('a','b');
END;


вроде так.
вообще об этом в документации много, хорошо и понятно написано.
...
Рейтинг: 0 / 0
инициализация массива
    #32048853
Ruslan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чего-то не выходит

только вот так получается:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
DECLARE

rec1 rec:= rec('a','b');
tab1 rec_table:= rec_table(rec1);

begin

tab1( 1 ).x:= 'c';
tab1( 1 ).y:= 'd';

end;


только это неудобно мне бы програмно инициализировать
...
Рейтинг: 0 / 0
инициализация массива
    #32048871
none
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да, ошибочка вкралась:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SQL> DECLARE
   2    tab1 rec_table :=  rec_table();
   3   BEGIN
   4    tab1.EXTEND;
   5    tab1(tab1.COUNT) := rec('a','b');  -- тут указывается объект а не тип
 
   6    DBMS_OUTPUT.PUT_LINE('X='||tab1( 1 ).x);
   7    DBMS_OUTPUT.PUT_LINE('Y='||tab1( 1 ).y);
   8   END;
   9   /
X=a
Y=b

PL/SQL procedure successfully completed.
...
Рейтинг: 0 / 0
инициализация массива
    #32049001
Ruslan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо :))
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / инициализация массива
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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