powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / failed to parse SQL query: ORA-00911: invalid character
25 сообщений из 50, страница 2 из 2
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
25 сообщений из 50, страница 2 из 2
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / failed to parse SQL query: ORA-00911: invalid character
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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