powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с Seq.currval
25 сообщений из 73, страница 2 из 3
Проблема с Seq.currval
    #33060633
kosiak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
waspwortи судя по всему global_archname и есть та самая переменная? А сколько она может принимать значений? Если немного, то почему бы не написать в лоб, что нить вроде
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
case global_archname
      'db1': insert into t1@db1....
      'db2': insert into t1@db2....
       .....
      'dbn': insert into t1@dbn....
end case;


или я опять чего не понял? ---где-то так
если бы я заранее знал значение этой переменной , я бы наверно сюда бы и не обратился , а так она передаётся извне , и её значения я не знаю в принципе ...
то есть от динамического запроса , я уйти не могу ... никак ....
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33060647
waspwort
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kosiak
если бы я заранее знал значение этой переменной


А как это ты не знаешь ее значение? это ведь узлы распределенной БД. А они все прописаны в файле tnsnames.ora........
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33060675
kosiak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
waspwortА как это ты не знаешь ее значение? это ведь узлы распределенной БД. А они все прописаны в файле tnsnames.ora........

не удивляйся так сильно , просто я не знаю где будет стоять эта база , а прототип делается сейчас , потом будет создан дамп , и там развёрнут ...... вот и всё
ЗЫ: кста ... указать сейчас жёсткий путь к базе , и требовать чтоб при установке её обозвали именно так я не могу ....(это дабы избежать ненужных замечаний)
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33060804
Фотография Vadim Zh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вставляется одна строка, то почему
в самом начале в динамическом SQL не получить
NEXTVAL, а потом выполнять оба INSERT???

С уважением, Вадим.
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33060884
kosiak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim ZhЕсли вставляется одна строка, то почему
в самом начале в динамическом SQL не получить
NEXTVAL, а потом выполнять оба INSERT???

С уважением, Вадим.
2 Vadim Zh
я тоже пришёл к этому , есть только один ньюанс ,помоги ... как это корректно сделать ... плиииз
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33061394
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
.....
--insert to vk_wav
 sql_stmt0:='insert into rmo.vk_wav@'||global_archname||' (wav_id,oldwav_id,hid,';
 sql_stmt1:='imsi,imei,msisdn,wav_date,wav_type,rec_time,fsize,prior1,cnt_sms,rtc,resume1,result,obj_idm,dnrs,cnrs,cells1,cells_time,cells2,cells3,cells4,cells5,cells6,cells7,cells8,cells9,cells10,fcl,dtmf) ';
 sql_stmt2:='select rmo.vk_wav_seq.nextval@'||global_archname||','||TO_Char(wav_id)||',hid,imsi,imei,msisdn,wav_date,wav_type,rec_time,fsize,prior1,cnt_sms,rtc,resume1,result,obj_idm,dnrs,cnrs,cells1,cells_time,';
 sql_stmt3:='cells2,cells3,cells4,cells5,cells6,cells7,cells8,cells9,cells10,fcl,dtmf from rmo.'||tabname||' where  wav_id='||TO_CHAR(wav_id);
 EXECUTE IMMEDIATE sql_stmt0||sql_stmt1||sql_stmt2||sql_stmt3 RETURNING wav_id into new_wav_id;
???
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33061430
Pavel Zenkevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RTFM
-------------------------------------------------------
Кто людям помогает - тот тратит время зря. (с) Шапокляк
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33061615
kosiak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Pavel Zenkevich

пасиба ... толковая ссылочка
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33061701
Stax.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрел, смотрел не могу понять,
почему слет
вот такое у меня работает
Код: plaintext
1.
2.
3.
4.
5.
6.
declare
begin
  execute immediate 'insert into t select stax.s.nextval@odb_grant from dual';
  execute immediate 'insert into t select stax.s.currval@odb_grant from dual';
null;
end;

мож Вас первый не отрабатывает,
нуль строк вставлено из-за where,
тода будет слет
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33061777
kosiak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax.мож Вас первый не отрабатывает,
нуль строк вставлено из-за where,
тода будет слет

да не знаю я , поэтому и спрашиваю ... хотя nextval вродь отрабатывает

2Павел Воронцов
а чё .. тоже мысль .. пасиба
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33061822
kosiak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел Воронцов
Код: plaintext
1.
2.
3.
4.
5.
6.
.....
--insert to vk_wav
 sql_stmt0:='insert into rmo.vk_wav@'||global_archname||' (wav_id,oldwav_id,hid,';
 sql_stmt1:='imsi,imei,msisdn,wav_date,wav_type,rec_time,fsize,prior1,cnt_sms,rtc,resume1,result,obj_idm,dnrs,cnrs,cells1,cells_time,cells2,cells3,cells4,cells5,cells6,cells7,cells8,cells9,cells10,fcl,dtmf) ';
 sql_stmt2:='select rmo.vk_wav_seq.nextval@'||global_archname||','||TO_Char(wav_id)||',hid,imsi,imei,msisdn,wav_date,wav_type,rec_time,fsize,prior1,cnt_sms,rtc,resume1,result,obj_idm,dnrs,cnrs,cells1,cells_time,';
 sql_stmt3:='cells2,cells3,cells4,cells5,cells6,cells7,cells8,cells9,cells10,fcl,dtmf from rmo.'||tabname||' where  wav_id='||TO_CHAR(wav_id);
 EXECUTE IMMEDIATE sql_stmt0||sql_stmt1||sql_stmt2||sql_stmt3 RETURNING wav_id into new_wav_id;
???

попробовал ... сделал так и получил :
Код: plaintext
( 1 ): PLS- 00103 :встретился символ "WAV_ID" в то время как ожидалось одно из следующих:
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33062049
Stax.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kosiak Stax.мож Вас первый не отрабатывает,
нуль строк вставлено из-за where,
тода будет слет

да не знаю я , поэтому и спрашиваю ... хотя nextval вродь отрабатывает


А Вы нарошно спалите еще одним первым (фиктивным from dual)
селектом номер,
и посмотрите слетит ли

ЗЫ
если оператор не один, надо обрамлять блоком
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33062161
kosiak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nextval выполняется сто пудов , а потом .... на этом мысль заканчивается .....
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33062304
Stax.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kosiaknextval выполняется сто пудов , а потом .... на этом мысль заканчивается .....А мои две сторчки тоже слетают?
Код: plaintext
1.
2.
3.
4.
begin
  execute immediate 'insert into t select stax.s.nextval@odb_grant from dual';
  execute immediate 'insert into t select stax.s.currval@odb_grant from dual';
end;
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33062347
Фотография Oleg Afanasiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно у вас между этими двумя выполнениями закрывается линк.

...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33062478
kosiak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Stax.
нет .. твой прикол работает :) ... не работает мой и это странно :( , так как по мнению очевидцев раньше аналогичные вещи проходили на ура .....
есть другой вариант ... писатть отдельную функцию на получение nextval и из неё выгребать result в виде нужного номера .. но вопрос с формированием динамической строки остался открытым ...
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33062611
Stax.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выходы есть разные, надо найти почему слетает

Мож у вас в rmo -о русское

Упрощайте строку вплоть до литерала (влоб текст инсерта)

ОФФТОПИК
Я поначалу подумал что execute вы@$%"№тся,
тут на недельке закралось у меня подозрение на связку
бин переменных и паралель,
такое получил ...(ужас),
но ничего дождусь девятки, буду радоватся
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33062691
kosiak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax.Упрощайте строку вплоть до литерала (влоб текст инсерта)

сделал даже проще : создал в основной базе сиквенс и иду от него ... , возникла другая проблема
Код: plaintext
ORA- 02019 : описание соединения для удалённой БД не найдено
хотя всё трижды проверял , ошибки быть не может .. всё верно ... делал запрос, где явно указывался путь .... всё намана .... есть какие-либо соображения ?
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33062715
Фотография Oleg Afanasiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kosiak
сделал даже проще : создал в основной базе сиквенс и иду от него ...
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33062737
Stax.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kosiak
возникла другая проблема
Код: plaintext
ORA- 02019 : описание соединения для удалённой БД не найдено
хотя всё трижды проверял , ошибки быть не может .. всё верно ... делал запрос, где явно указывался путь .... всё намана .... есть какие-либо соображения ?

Нет или пользователь не видит линка
из другой базы (где нет линка)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SQL> begin
   2     execute immediate 'insert into t select stax.s.nextval@odb_grant from dual';
   3     execute immediate 'insert into t select stax.s.currval@odb_grant from dual';
   4   end;
   5   
   6   /
begin
*
ERROR at line  1 :
ORA- 02019 : описание соединения для удаленной БД не найдено
ORA- 06512 : на  line  2 
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33062756
kosiak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Stax. Линк я делал вчера , как и саму БД , всё проверил и перепроверил ... обычные запросы проходят " на ура " , а эта байда не работает :( ....
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33062902
Stax.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kosiak2 Stax. Линк я делал вчера , как и саму БД , всё проверил и перепроверил ... обычные запросы проходят " на ура " , а эта байда не работает :( ....

Где-то банальная очепятка,
туман опустился

зы
мож просто надо отдохнуть
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33063002
kosiak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax.
Где-то банальная очепятка,
туман опустился

зы
мож просто надо отдохнуть

неа , опечаток быть не может ... выкусывал запрос и проверял отдельно , он работает ... всё с сиквенсом я всё решил через банальный курсор .... теперь вопрос в другом .....
Код: plaintext
1.
ORA- 00942 : таблица или представление пользователя не существуют
result = - 942 
хотя я брал реально существующую таблицу ... блин как назло , не одно так другое .... :((
а отдыхать некогда .. реально это всё надо сделать "ещё вчера" :)
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33063044
kosiak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kosiak .... теперь вопрос в другом .....
Код: plaintext
1.
ORA- 00942 : таблица или представление пользователя не существуют
result = - 942 


кто подскажет ... в каких случаях возникает такая ошибка ? чтобы корректно подойти ка проблеме .... может она быть из-за того , что я ввожу параметры , которых реально нет в таблице , из которой делается select???
ЗЫ: извините , за такой непонятный вопрос .. с красноречием и ораторским изречением я не очень дружу ....
...
Рейтинг: 0 / 0
Проблема с Seq.currval
    #33063148
Stax.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ORA-00942:
Самое простое
1 выдать права на таблицу явно , а не перез роль
2 поробовать с правами вызывающего (authid CURRENT_USER)
...
Рейтинг: 0 / 0
25 сообщений из 73, страница 2 из 3
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с Seq.currval
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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