Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Проблема в форме с получением ПК / 12 сообщений из 12, страница 1 из 1
07.12.2014, 18:40
    #38827431
Проблема в форме с получением ПК
Сделал простейшее приложение и вдруг при заполнении 1-й формы вылезает эта ошибка.
Причем только на этой форме - на остальных все ок.
Объект Последовательность есть, в обработке получения ПК ссылка на него.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
declare 
  function get_pk return varchar2 
  is 
  begin 
    for c1 in (select Payer_S.nextval next_val
               from dual)
    loop
        return c1.next_val;
    end loop;
  end; 
begin 
  :P15_PAYERID := get_pk; 
end; 
...
Рейтинг: 0 / 0
07.12.2014, 18:42
    #38827433
Проблема в форме с получением ПК
скрин ошибки почему-то не приложился, вот текст

ORA-06550: line 5, column 23: PL/SQL: ORA-02289: sequence does not exist ORA-06550: line 5, column 16: PL/SQL: SQL Statement ignored ORA-06550: line 8, column 16: PLS-00364: loop index variable 'C1' use is invalid ORA-06550: line 8, column 9: PL/SQL: Statement ignored
Error Unable to get primary key item value.
OK
...
Рейтинг: 0 / 0
08.12.2014, 08:30
    #38827637
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в форме с получением ПК
грязный комплектовщик,

И что не ясно с ошибкой?
...
Рейтинг: 0 / 0
08.12.2014, 10:13
    #38827709
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в форме с получением ПК
Жеееееееееесть, вот такого я еще не видел.
Пожалуй добавлю в этот хохмо-код, еще чуть-чуть.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
declare 
  function get_pk return varchar2 
  is 
		v_id		integer;
  begin 
		if v_id is null then 
			for c1 in (
				select Payer_S.nextval next_val 	from dual
			)	loop
				v_id:=c1.next_val;
			end loop;
		end if;
		return v_id;
	end;
begin 
  :P15_PAYERID := get_pk; 
end; 
...
Рейтинг: 0 / 0
08.12.2014, 10:52
    #38827775
гр к
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в форме с получением ПК
Gustlyгрязный комплектовщик,

И что не ясно с ошибкой?
Что в форме нужно поправить и где?
2blkangel APEX сгенерировал именно такой код.
...
Рейтинг: 0 / 0
08.12.2014, 11:16
    #38827800
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в форме с получением ПК
гр к,

Откройте pl/sql developer или подобную программу и попробуйте выполнить код там. Оно не видит сиквенс, почему - выясняйте.
...
Рейтинг: 0 / 0
08.12.2014, 12:56
    #38827926
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в форме с получением ПК
гр кGustlyгрязный комплектовщик,

И что не ясно с ошибкой?
Что в форме нужно поправить и где?
2blkangel APEX сгенерировал именно такой код.

Версия АПЕКСа?
...
Рейтинг: 0 / 0
08.12.2014, 13:02
    #38827935
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в форме с получением ПК
blkangelгр кпропущено...

Что в форме нужно поправить и где?
2blkangel APEX сгенерировал именно такой код.

Версия АПЕКСа?

И вообще мне кажется вы обманываете. не похоже на автоматическую генерацию кода.

1. Бессмысленная циклическая логика.
2. Oracle при генерации выборок название генерит большими буквами, служебные слова маленькими, а не скачущими как в примере.
3. Оракл обращается к таблице "dual" по полному пути "sys.dual";
...
Рейтинг: 0 / 0
08.12.2014, 20:50
    #38828416
гр к
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в форме с получением ПК
blkangelblkangelпропущено...


Версия АПЕКСа?

И вообще мне кажется вы обманываете. не похоже на автоматическую генерацию кода.

1. Бессмысленная циклическая логика.
2. Oracle при генерации выборок название генерит большими буквами, служебные слова маленькими, а не скачущими как в примере.
3. Оракл обращается к таблице "dual" по полному пути "sys.dual";
Версия, которая с 11.2 XE идет.
Вам зря так кажется, я АПЕКС решил как раз из-за декларативного программирования решил юзать.
Кроме LOV для комбобоксов ни строки сам не написал.
Да и ни к чему - у меня тупо формы с интерактивными отчетами.
ЗЫ Пишу на память - как-то апекс, похоже, название последовательности, написанной не заглавными буквами, реально посчитал несуществующей.
Создал новую
Код: plsql
1.
2.
CREATE SEQUENCE   "PAYER_S"  MINVALUE 1 
MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 9 NOCACHE  NOORDER  NOCYCLE ;


- ошибка пропала.
...
Рейтинг: 0 / 0
09.12.2014, 10:05
    #38828654
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в форме с получением ПК
гр к,
Погуглил, действительно Апекс генерил такой автоматический код, видимо быстро исправили, чтобы никто не видел этот индокитайский код.
Вот аткой код гораздо компактнее
Код: plsql
1.
:P15_PAYERID := PAYER_S.nextval; 
...
Рейтинг: 0 / 0
09.12.2014, 12:27
    #38828809
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в форме с получением ПК
blkangel,

Вот только работает с 12-й версии оракла.
...
Рейтинг: 0 / 0
09.12.2014, 13:18
    #38828889
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в форме с получением ПК
Gustly,
Нет, в 11 версии работает.
У него 11 версия.
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Проблема в форме с получением ПК / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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