powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / failed to parse SQL query: ORA-00911: invalid character
50 сообщений из 50, показаны все 2 страниц
failed to parse SQL query: ORA-00911: invalid character
    #38302377
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно видел похожий пост с этой ошибкой но ответа не увидел. Почему срабатывать может данная ошибка, если в SQL COMMANDER запуская запрос:
select a.ID_QUESTION, a.NAME, a.ID_BANK_QUESTION from X_QUESTIONS a, X_TEST_LINES_BANK b where b.ID_TEST=:P9_ID_TEST and a.id_bank_question=b.id_bank_question;

Срабатывает как надо, отображает те данные которые я запросом и хочу получить, но как только заталкиваю в репорт на странице обычный, жму сохранить - запрос пропускает нормально, но выполняю запуск страницы и вылезает эта ошибка?? левых каких то символов вроде нет...
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302414
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подозреваю, что в самой таблице левый символ. Попробуйте ее почистить от всех строк.
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302420
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще проблема 2 еще, сам код вообщем выглядит вот так:
declare
id_q number;
name varchar2(1000);
id_bank number;
begin
if apex_collection.collection_exists('TEST')=false then
apex_collection.create_collection('TEST');
end if;
---------------------------------
select a.ID_QUESTION into id_q, a.NAME into name, a.ID_BANK_QUESTION into id_bank from X_QUESTIONS a, X_TEST_LINES_BANK b where b.ID_TEST=:P9_ID_TEST and a.id_bank_question=b.id_bank_question order by a.ID_QUESTION;
apex_collection.add.member('TEST',id_q,name,id_bank);
end;


Но понятное дело что он ругается на то, что нельзя впихнуть в переменную целый столбец(значений в таблице много) но вот как сделать чтоб он затолкнул в коллекцию все значения? В документации нашел, что можно использовать вроде как добавление значений запросом при создании с помощью CREATE_COLLECTION_FROM_QUERY, но добавлять в уже имеющуюся - не пойму как. Есть идеи?
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302421
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто вырвиглаз, даже для меня.

select COLUMN1,COLUMN2 into VAR1,VAR2 from TABLE - для 1 строки, иначе ошибка. VAR1,VAR2 простые типы (NUMBER например)
select COLUMN1,COLUMN2 bulk collect into VAR1,VAR2 from TABLE - для 1 и более строк. VAR1,VAR2 табличные типы (table of number)
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302423
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую, спасибо))
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302425
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly,

тип так и присваивается
declare
var1 table of number;
?? потому что ругает на подобное "of"
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302433
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
declare
TYPE NumbersTab IS TABLE OF NUMBER;
TYPE VarTab IS TABLE OF VARCHAR(1000);
id_q NumbersTab ;
nam VarTab;
id_bank NumbersTab ;
begin
if apex_collection.collection_exists('TEST')=false then
apex_collection.create_collection('TEST');
end if;
---------------------------------
select a.ID_QUESTION,a.NAME, a.ID_BANK_QUESTION bulk collect into id_q,nam,id_bank from X_QUESTIONS a, X_TEST_LINES_BANK b where b.ID_TEST=:P9_ID_TEST and a.id_bank_question=b.id_bank_question order by a.ID_QUESTION;

apex_collection.add_member('TEST',
c001 => id_q,
c002 => nam,
c003 => id_bank);

end;
..................

ORA-06550: line 15, column 1: PLS-00306: wrong number or types of arguments in call to 'ADD_MEMBER' ORA-06550: line 15, column 1: PL/SQL: Statement ignored
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302436
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Сначала нужно создать тип, а потом объявить переменную этого типа. А вообще есть уже готовые подобные типы в пакете dbms_sql например. Если нужны меньшие коллекции тогда свой тип рядом создайте.
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302437
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1declare
TYPE NumbersTab IS TABLE OF NUMBER;
TYPE VarTab IS TABLE OF VARCHAR(1000);
id_q NumbersTab ;
nam VarTab;
id_bank NumbersTab ;
begin
if apex_collection.collection_exists('TEST')=false then
apex_collection.create_collection('TEST');
end if;
---------------------------------
select a.ID_QUESTION,a.NAME, a.ID_BANK_QUESTION bulk collect into id_q,nam,id_bank from X_QUESTIONS a, X_TEST_LINES_BANK b where b.ID_TEST=:P9_ID_TEST and a.id_bank_question=b.id_bank_question order by a.ID_QUESTION;

apex_collection.add_member('TEST',
c001 => id_q,
c002 => nam,
c003 => id_bank);

end;
..................

ORA-06550: line 15, column 1: PLS-00306: wrong number or types of arguments in call to 'ADD_MEMBER' ORA-06550: line 15, column 1: PL/SQL: Statement ignored
А теперь считаем сколько столбцов селектим, и во сколько переменных.
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302438
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyНет. Сначала нужно создать тип, а потом объявить переменную этого типа. А вообще есть уже готовые подобные типы в пакете dbms_sql например. Если нужны меньшие коллекции тогда свой тип рядом создайте.
Я вот нашел тут http://www.java2s.com/Code/Oracle/PL-SQL/TYPENumbersTabISTABLEOFNUMBER.htm некое создание + использование сразу. Воткнул - кусок верхний то пропускает а ошибка вот такая теперь ORA-06550: line 15, column 1: PLS-00306: wrong number or types of arguments in call to 'ADD_MEMBER' ORA-06550: line 15, column 1: PL/SQL: Statement ignored Думаете это связано с подобным созданием типа?
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302440
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1GustlyНет. Сначала нужно создать тип, а потом объявить переменную этого типа. А вообще есть уже готовые подобные типы в пакете dbms_sql например. Если нужны меньшие коллекции тогда свой тип рядом создайте.
Я вот нашел тут http://www.java2s.com/Code/Oracle/PL-SQL/TYPENumbersTabISTABLEOFNUMBER.htm некое создание + использование сразу. Воткнул - кусок верхний то пропускает а ошибка вот такая теперь ORA-06550: line 15, column 1: PLS-00306: wrong number or types of arguments in call to 'ADD_MEMBER' ORA-06550: line 15, column 1: PL/SQL: Statement ignored Думаете это связано с подобным созданием типа?

эээ a.ID_QUESTION (1),a.NAME(2), a.ID_BANK_QUESTION(3) bulk collect into id_q(1),nam(2),id_bank(3)
.........
apex_collection.add_member('TEST',
c001 => id_q,
c002 => nam,
c003 => id_bank);
end;
С количеством вроде порядок




declare
TYPE NumbersTab IS TABLE OF NUMBER;
TYPE VarTab IS TABLE OF VARCHAR(1000);
id_q NumbersTab ;
nam VarTab;
id_bank NumbersTab ;
begin
if apex_collection.collection_exists('TEST')=false then
apex_collection.create_collection('TEST');
end if;
---------------------------------
select a.ID_QUESTION,a.NAME, a.ID_BANK_QUESTION bulk collect into id_q,nam,id_bank from X_QUESTIONS a, X_TEST_LINES_BANK b where b.ID_TEST=:P9_ID_TEST and a.id_bank_question=b.id_bank_question order by a.ID_QUESTION;

apex_collection.add_member('TEST',
c001 => id_q,
c002 => nam,
c003 => id_bank);

end;
..................

ORA-06550: line 15, column 1: PLS-00306: wrong number or types of arguments in call to 'ADD_MEMBER' ORA-06550: line 15, column 1: PL/SQL: Statement ignored

А теперь считаем сколько столбцов селектим, и во сколько переменных.
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302441
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlySHeLEST1declare
TYPE NumbersTab IS TABLE OF NUMBER;
TYPE VarTab IS TABLE OF VARCHAR(1000);
id_q NumbersTab ;
nam VarTab;
id_bank NumbersTab ;
begin
if apex_collection.collection_exists('TEST')=false then
apex_collection.create_collection('TEST');
end if;
---------------------------------
select a.ID_QUESTION,a.NAME, a.ID_BANK_QUESTION bulk collect into id_q,nam,id_bank from X_QUESTIONS a, X_TEST_LINES_BANK b where b.ID_TEST=:P9_ID_TEST and a.id_bank_question=b.id_bank_question order by a.ID_QUESTION;

apex_collection.add_member('TEST',
c001 => id_q,
c002 => nam,
c003 => id_bank);

end;
..................

ORA-06550: line 15, column 1: PLS-00306: wrong number or types of arguments in call to 'ADD_MEMBER' ORA-06550: line 15, column 1: PL/SQL: Statement ignored
А теперь считаем сколько столбцов селектим, и во сколько переменных.


эээ a.ID_QUESTION (1),a.NAME(2), a.ID_BANK_QUESTION(3) bulk collect into id_q(1),nam(2),id_bank(3)
.........
apex_collection.add_member('TEST',
c001 => id_q,
c002 => nam,
c003 => id_bank);
end;
С количеством вроде порядок



Случайно кривое сообщение сверху кинул >_<
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302454
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1Gustlyпропущено...

А теперь считаем сколько столбцов селектим, и во сколько переменных.


эээ a.ID_QUESTION (1),a.NAME(2), a.ID_BANK_QUESTION(3) bulk collect into id_q(1),nam(2),id_bank(3)
.........
apex_collection.add_member('TEST',
c001 => id_q,
c002 => nam,
c003 => id_bank);
end;
С количеством вроде порядок



Случайно кривое сообщение сверху кинул >_<
Что за число в скобках?
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302456
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlySHeLEST1пропущено...



эээ a.ID_QUESTION (1),a.NAME(2), a.ID_BANK_QUESTION(3) bulk collect into id_q(1),nam(2),id_bank(3)
.........
apex_collection.add_member('TEST',
c001 => id_q,
c002 => nam,
c003 => id_bank);
end;
С количеством вроде порядок



Случайно кривое сообщение сверху кинул >_<
Что за число в скобках?
Это я себе нумерацию просто прописал)) Вы просто сказали про количество я думал вдруг реально уже не вижу ничего. а так то код вот так
a.ID_QUESTION ,a.NAME, a.ID_BANK_QUESTION bulk collect into id_q,nam,id_bank
.........
apex_collection.add_member('TEST',
c001 => id_q,
c002 => nam,
c003 => id_bank);
end;
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302459
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1Gustlyпропущено...

Что за число в скобках?
Это я себе нумерацию просто прописал)) Вы просто сказали про количество я думал вдруг реально уже не вижу ничего. а так то код вот так
a.ID_QUESTION ,a.NAME, a.ID_BANK_QUESTION bulk collect into id_q,nam,id_bank
.........
apex_collection.add_member('TEST',
c001 => id_q,
c002 => nam,
c003 => id_bank);
end;
А коллекцию апекса создали?
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302461
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlySHeLEST1пропущено...

Это я себе нумерацию просто прописал)) Вы просто сказали про количество я думал вдруг реально уже не вижу ничего. а так то код вот так
a.ID_QUESTION ,a.NAME, a.ID_BANK_QUESTION bulk collect into id_q,nam,id_bank
.........
apex_collection.add_member('TEST',
c001 => id_q,
c002 => nam,
c003 => id_bank);
end;
А коллекцию апекса создали?
Вот полный код:
eclare
TYPE NumbersTab IS TABLE OF NUMBER;
TYPE VarTab IS TABLE OF VARCHAR(1000);
id_q NumbersTab ;
nam VarTab;
id_bank NumbersTab ;
begin
if apex_collection.collection_exists('TEST')=false then
apex_collection.create_collection('TEST');
end if;
---------------------------------
select a.ID_QUESTION,a.NAME, a.ID_BANK_QUESTION bulk collect into id_q,nam,id_bank from X_QUESTIONS a, X_TEST_LINES_BANK b where b.ID_TEST=:P9_ID_TEST and a.id_bank_question=b.id_bank_question order by a.ID_QUESTION;

apex_collection.add_member('TEST',
c001 => id_q,
c002 => nam,
c003 => id_bank);

end;
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302475
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1,

Вы делаете селект в коллекцию. Коллекция это множество строк. А add_member это один элемент. Вам надо брать одну из коллекций и по цылку добавлять мемберов.
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302479
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlySHeLEST1,

Вы делаете селект в коллекцию. Коллекция это множество строк. А add_member это один элемент. Вам надо брать одну из коллекций и по цылку добавлять мемберов.
По цылку?????
Как я понял мне надо брать по 1 строке и добавлять в коллекцию вы это имеете ввиду?
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302494
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как ни пытался построчно - не получается почему то. Не могу правильно использовать rownum в данном селекте чтоб потом в цикле этот rownum использовать. Есть идеи реализовать как можно попроще?))
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38302662
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причем тут rownum.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
declare 
  type tblchars is table of varchar2(1000);
  st tblchars;
begin
  select a.OBJECT_NAME bulk collect into st from all_objects a where rownum<100;
  for i in 1..st.count loop
      dbms_output.put_line(st(i));
  end loop;
end;
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303081
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1select a.ID_QUESTION,a.NAME, a.ID_BANK_QUESTION bulk collect into id_q,nam,id_bank from X_QUESTIONS a, X_TEST_LINES_BANK b where b.ID_TEST=:P9_ID_TEST and a.id_bank_question=b.id_bank_question order by a.ID_QUESTION;

apex_collection.add_member('TEST',
c001 => id_q,
c002 => nam,
c003 => id_bank);

end;

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
...
for cur in
(select 
  a.ID_QUESTION as id_q,
  a.NAME as nam, 
  a.ID_BANK_QUESTION as id_bank
from X_QUESTIONS a, X_TEST_LINES_BANK b 
where b.ID_TEST=:P9_ID_TEST and a.id_bank_question=b.id_bank_question)
loop
apex_collection.add_member('TEST',
c001 => cur.id_q,
c002 => cur.nam,
c003 => cur.id_bank);
end loop;
...
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303121
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CasufiSHeLEST1select a.ID_QUESTION,a.NAME, a.ID_BANK_QUESTION bulk collect into id_q,nam,id_bank from X_QUESTIONS a, X_TEST_LINES_BANK b where b.ID_TEST=:P9_ID_TEST and a.id_bank_question=b.id_bank_question order by a.ID_QUESTION;

apex_collection.add_member('TEST',
c001 => id_q,
c002 => nam,
c003 => id_bank);

end;

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
...
for cur in
(select 
  a.ID_QUESTION as id_q,
  a.NAME as nam, 
  a.ID_BANK_QUESTION as id_bank
from X_QUESTIONS a, X_TEST_LINES_BANK b 
where b.ID_TEST=:P9_ID_TEST and a.id_bank_question=b.id_bank_question)
loop
apex_collection.add_member('TEST',
c001 => cur.id_q,
c002 => cur.nam,
c003 => cur.id_bank);
end loop;
...



cur - курсор?
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303136
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1,

курсор, неявный
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303141
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CasufiSHeLEST1,

курсор, неявный
Сейчас попробую, спасибо большое!
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303191
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CasufiSHeLEST1,

курсор, неявный
А его же не нужно никак объявлять?
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303219
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ибо
declare
TYPE NumbersTab IS TABLE OF NUMBER;
TYPE VarTab IS TABLE OF VARCHAR(1000);
id_q NumbersTab ;
nam VarTab;
id_bank NumbersTab ;
begin
if apex_collection.collection_exists('TEST')=false then
apex_collection.create_collection('TEST');
end if;
---------------------------------

for cur in
(select
a.ID_QUESTION as id_q,
a.NAME as nam,
a.ID_BANK_QUESTION as id_bank
from X_QUESTIONS a, X_TEST_LINES_BANK b
where b.ID_TEST=:P9_ID_TEST and a.id_bank_question=b.id_bank_question)
loop
apex_collection.add_member('TEST',
c001 => cur.id_q,
c002 => cur.nam,
c003 => cur.id_bank);
end loop;
end;

ORA-06550: line 21, column 1:
PLS-00306: wrong number or types of arguments in call to 'ADD_MEMBER'
ORA-06550: line 21, column 1:
PL/SQL: Statement ignored
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303233
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разобрался. Как я понял использовать c001 => можно только при присвоении единичного числа, поэтому добавляю просто тупо apex_collection.add_member('TEST', cur.id_q, cur.nam, cur.id_bank);

Вроде работает.!!!!!!! ВСЕМ ОГРОМНЕЙШЕЕ СПАСИБО!!!!!!
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303308
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно. При воздействии на созданную коллекцию происходит подобное:
apex_collection.delete_collection ('TEST'); ORA-00900: invalid SQL statement
синтаксис дословно по документации:
APEX_COLLECTION.DELETE_COLLECTION (
p_collection_name => "TEST");
ORA-00900: invalid SQL statement

3 вариант:

APEX_COLLECTION.DELETE_MEMBER(
p_collection_name => 'TEST',
p_seq => '8');
--seq_id=8 В списке есть селектом отображается
ORA-00900: invalid SQL statement
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303315
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это где делаете? Может надо дописать слово CALL, EXEC или может еще схему пакета?
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303361
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyА это где делаете? Может надо дописать слово CALL, EXEC или может еще схему пакета?
сначала в sql commands, потом попробовал удалить через процесс+ кнопку просто, но он процесс не сохранял. Думал что может дело в каких то сохранённых апексом параметрах на уровне сессии, но вроде нет. 2 раза перезапустил - не помогло. Сейчас зашел - коллекции удалены. Или апекс тупит или я где то
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303402
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1,

Апекс сам удаляет коллекции через некоторое время по идее.
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303411
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlySHeLEST1,

Апекс сам удаляет коллекции через некоторое время по идее.
Ну не через 5 минут после создания ж)
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303417
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1,

Ну если юзера, который их создал отцепить, может и сразу удалит.
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303425
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlySHeLEST1,

Ну если юзера, который их создал отцепить, может и сразу удалит.
т.е. коллекция хранится в пределах текущей сессии получается?
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303438
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1GustlySHeLEST1,

Ну если юзера, который их создал отцепить, может и сразу удалит.
т.е. коллекция хранится в пределах текущей сессии получается?
Логически предполагаю, что да, ибо они для этого и нужны.
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303696
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyАпекс сам удаляет коллекции через некоторое время по идее.
Критерий при удалении не время, а состояние сессии, коллекция видна в пределах сессии, сессия умерла, коллекция тоже.

SHeLEST1, поэтому добавляю просто тупо apex_collection.add_memb Вызывая процедуру с не именованными параметрами имеешь шанс отгрести кучу неуловимых багов, советую вообще забыть о таком синтаксисе, проще почитать вот тут http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21676/apex_collection.htm#autoId20 и решить какую именно процедуру тебе нужно использовать.
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303763
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1Есть идеи реализовать как можно попроще?

0. Забыть про цикл и добавлять сразу набор массивов .

1. При первом заполнении коллекции данными просто создавать её из запроса .

SHeLEST1сначала в sql commands

Это не SQL, а PL/SQL. Потому используйте вызов в анонимном PL/SQL-блоке:

Код: plsql
1.
2.
3.
4.
begin
  ...
end;
/


SHeLEST1потом попробовал удалить через процесс+ кнопку просто, но он процесс не сохранял.
И какие конкретно были код процесса и ошибка?

Casufiсессия умерла, коллекция тоже
Пока запись про истёкшую сессию не удалена, ещё не всё потеряно. :)
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303764
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1,

используйте, пожалуйста, тег SRC для оформления кода. Как правильно им пользоваться, можно прочесть здесь .
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303906
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1, поэтому добавляю просто тупо apex_collection.add_memb Вызывая процедуру с не именованными параметрами имеешь шанс отгрести кучу неуловимых багов, советую вообще забыть о таком синтаксисе, проще почитать вот тут http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21676/apex_collection.htm#autoId20 и решить какую именно процедуру тебе нужно использовать.[/quot]
процедура APEX_COLLECTION.ADD_MEMBER которую я использую и описана в предоставленной по вашей ссылке документации. Я оттуда и брал её

suPPLerSHeLEST1,

используйте, пожалуйста, тег SRC для оформления кода. Как правильно им пользоваться, можно прочесть здесь .
Прошу прощения, учту при следующем оформлении поста.
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38303908
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suPPLerSHeLEST1Есть идеи реализовать как можно попроще?

0. Забыть про цикл и добавлять сразу набор массивов .

1. При первом заполнении коллекции данными просто создавать её из запроса .


Ну вот я дописал цикл который предоставил Casufi. разве он плох?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
...
for cur in
(select 
  a.ID_QUESTION as id_q,
  a.NAME as nam, 
  a.ID_BANK_QUESTION as id_bank
from X_QUESTIONS a, X_TEST_LINES_BANK b 
where b.ID_TEST=:P9_ID_TEST and a.id_bank_question=b.id_bank_question)
loop
apex_collection.add_member('TEST',
c001 => cur.id_q,
c002 => cur.nam,
c003 => cur.id_bank);
end loop;
...



С ним работает всё в принципе нормально, т.е. добавление происходит стабильно. по крайней мере после 3 тестовых запусков процесса, если не считать конфуза с удалением изложенным выше - всё добавляет верно. Хранит успешно
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38304002
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столкнулся еще с 1 трудностью.
Есть коллекция seq_id,c001,c002,c003 где с001 - набор из ИД вопросов, c002 - текст вопроса, с003 - ид банка.
Селектом её спокойно отображаю например при условии простом
Код: plsql
1.
select seq_id, c001 ,c002 ,c003 from apex_collections where collection_name='TEST' and seq_id=1;


Но вот мне необходимо выдернуть значение в этой 1 строке например из с001. добавляю просто стандартный Into n, начинает истерить
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
declare
n number;
begin
select seq_id, c001 into n ,c002 ,c003 from apex_collections where collection_name='TEST' and seq_id=1;
end;

ORA-06550: line 4, column 29:
PLS-00201: identifier 'C002' must be declared
ORA-06550: line 4, column 40:
PL/SQL: ORA-00904: : invalid identifier
ORA-06550: line 4, column 1:
PL/SQL: SQL Statement ignored


Доку умалчивает...
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38304021
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1Столкнулся еще с 1 трудностью.
Есть коллекция seq_id,c001,c002,c003 где с001 - набор из ИД вопросов, c002 - текст вопроса, с003 - ид банка.
Селектом её спокойно отображаю например при условии простом
Код: plsql
1.
select seq_id, c001 ,c002 ,c003 from apex_collections where collection_name='TEST' and seq_id=1;


Но вот мне необходимо выдернуть значение в этой 1 строке например из с001. добавляю просто стандартный Into n, начинает истерить
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
declare
n number;
begin
select seq_id, c001 into n ,c002 ,c003 from apex_collections where collection_name='TEST' and seq_id=1;
end;

ORA-06550: line 4, column 29:
PLS-00201: identifier 'C002' must be declared
ORA-06550: line 4, column 40:
PL/SQL: ORA-00904: : invalid identifier
ORA-06550: line 4, column 1:
PL/SQL: SQL Statement ignored


Доку умалчивает...
Вроде решил проблему
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38304026
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1Вроде решил проблему
Ты если пишешь что решил, пиши хоть в чем была проблема, и как решил, а то потом другие тоже будут голову ломать.
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38304029
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как и говорил почему то не получалось из коллекции вытащить значение, но оно спокойно достаётся если не указывать ненужные столбцы. Я первоначально писал запрос по типу
Код: plsql
1.
2.
3.
4.
5.
declare
n number;
begin
select seq_id,c001 into n,c002,c003 from apex_collections where collection_name='YOUR_COLLECTION_NAME' and seq_id=1;
end;


Выдавал ошибку что c002 не объявлено. т.е. он воспринимал c002 как переменную видать а не как поле. Точнее всё что после into n. Использовал запрос просто не только чтобы вытащить переменную но и отобразить его в итоге.
В итоге
Код: plsql
1.
2.
3.
4.
5.
declare
n number;
begin
select c001 into n from apex_collections where collection_name='YOUR_COLLECTION_NAME' and seq=1;
end; 


Думал просто поскольку выдает ошибку, то из коллекции вытаскивание значения может выполняться как то по другому.
Глупая проблема получилась в итоге)
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38304357
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1,

RTFF 8246138 .
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38305248
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1
Код: plsql
1.
2.
3.
4.
5.
declare
n number;
begin
select seq_id,c001 into n,c002,c003 from apex_collections where collection_name='YOUR_COLLECTION_NAME' and seq_id=1;
end;



Почитай как использовать into, запрос написан криво
http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/selectinto_statement.htm
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38305314
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CasufiSHeLEST1
Код: plsql
1.
2.
3.
4.
5.
declare
n number;
begin
select seq_id,c001 into n,c002,c003 from apex_collections where collection_name='YOUR_COLLECTION_NAME' and seq_id=1;
end;



Почитай как использовать into, запрос написан криво
http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/selectinto_statement.htm

Код: plsql
1.
2.
3.
4.
5.
declare
n number;
begin
select c001 into n from apex_collections where collection_name='YOUR_COLLECTION_NAME' and seq=1;
end; 



Я вот так сделал и работает) Мне только 1 поле и надо было вытащить
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38306875
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1
Код: plsql
1.
2.
3.
4.
5.
declare
n number;
begin
select c001 into n from apex_collections where collection_name='YOUR_COLLECTION_NAME' and seq=1;
end; 




Я вот так сделал и работает) Мне только 1 поле и надо было вытащить
При необходимости можно и несколько, только into идет после конструкции select и переменные указываются через запятую.
Кроме того, c001 это поле типа char, почему ты не хранишь числовое поле в n001 ?
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38306879
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CasufiSHeLEST1
Код: plsql
1.
2.
3.
4.
5.
declare
n number;
begin
select c001 into n from apex_collections where collection_name='YOUR_COLLECTION_NAME' and seq=1;
end; 




Я вот так сделал и работает) Мне только 1 поле и надо было вытащить
При необходимости можно и несколько, только into идет после конструкции select и переменные указываются через запятую.
Кроме того, c001 это поле типа char, почему ты не хранишь числовое поле в n001 ?

Да я думал об этом но факт того что "работает и ладно" перевесил)
...
Рейтинг: 0 / 0
failed to parse SQL query: ORA-00911: invalid character
    #38306942
SHeLEST1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHeLEST1,

Постараюсь теперь правильно делать всё, а не как пойдет
...
Рейтинг: 0 / 0
50 сообщений из 50, показаны все 2 страниц
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / failed to parse SQL query: ORA-00911: invalid character
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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