Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / failed to parse SQL query: ORA-00911: invalid character / 25 сообщений из 50, страница 1 из 2
18.06.2013, 22:40
    #38302377
SHeLEST1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
Собственно видел похожий пост с этой ошибкой но ответа не увидел. Почему срабатывать может данная ошибка, если в 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
18.06.2013, 23:38
    #38302414
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
Подозреваю, что в самой таблице левый символ. Попробуйте ее почистить от всех строк.
...
Рейтинг: 0 / 0
18.06.2013, 23:46
    #38302420
SHeLEST1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
Вообще проблема 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
18.06.2013, 23:50
    #38302421
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
Просто вырвиглаз, даже для меня.

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
18.06.2013, 23:51
    #38302423
SHeLEST1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
Попробую, спасибо))
...
Рейтинг: 0 / 0
18.06.2013, 23:55
    #38302425
SHeLEST1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
Gustly,

тип так и присваивается
declare
var1 table of number;
?? потому что ругает на подобное "of"
...
Рейтинг: 0 / 0
19.06.2013, 00:07
    #38302433
SHeLEST1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
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
19.06.2013, 00:11
    #38302436
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
Нет. Сначала нужно создать тип, а потом объявить переменную этого типа. А вообще есть уже готовые подобные типы в пакете dbms_sql например. Если нужны меньшие коллекции тогда свой тип рядом создайте.
...
Рейтинг: 0 / 0
19.06.2013, 00:12
    #38302437
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
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
19.06.2013, 00:13
    #38302438
SHeLEST1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
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
19.06.2013, 00:14
    #38302440
SHeLEST1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
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
19.06.2013, 00:15
    #38302441
SHeLEST1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
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
19.06.2013, 00:40
    #38302454
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
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
19.06.2013, 00:42
    #38302456
SHeLEST1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
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
19.06.2013, 00:51
    #38302459
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
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
19.06.2013, 00:53
    #38302461
SHeLEST1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
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
19.06.2013, 01:23
    #38302475
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
SHeLEST1,

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

Вы делаете селект в коллекцию. Коллекция это множество строк. А add_member это один элемент. Вам надо брать одну из коллекций и по цылку добавлять мемберов.
По цылку?????
Как я понял мне надо брать по 1 строке и добавлять в коллекцию вы это имеете ввиду?
...
Рейтинг: 0 / 0
19.06.2013, 02:45
    #38302494
SHeLEST1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
Как ни пытался построчно - не получается почему то. Не могу правильно использовать rownum в данном селекте чтоб потом в цикле этот rownum использовать. Есть идеи реализовать как можно попроще?))
...
Рейтинг: 0 / 0
19.06.2013, 10:03
    #38302662
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
Причем тут 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
19.06.2013, 13:18
    #38303081
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
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
19.06.2013, 13:34
    #38303121
SHeLEST1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
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
19.06.2013, 13:39
    #38303136
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
failed to parse SQL query: ORA-00911: invalid character
SHeLEST1,

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

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

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


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