Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 как использовать одно и то же значение секвенции в запросе несколько раз?  [new]
--Eugene--
Member

Откуда: Боярышник
Сообщений: 2170
думал сделать так
forall i in 1..n
	insert into t (a, b, c, d, e, f)
	select varray1(i),
			varray2(i),
			varray3(i),
			x.v + 1,
			x.v + 2,
			x.v + 3
		from (
			select seq.nextval as v
				from dual) x;
но получил
ORA-02287: sequence number not allowed here
CURRVAL and NEXTVAL cannot be used in a subquery
что делать?
2 апр 13, 13:36    [14126297]     Ответить | Цитировать Сообщить модератору
 Re: как использовать одно и то же значение секвенции в запросе несколько раз?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51765

--Eugene--
что делать?

Вынести его из совершенно ненужного здесь подзапроса. Использовать один раз NEXTVAL и
сколько угодно CURRVAL.

Posted via ActualForum NNTP Server 1.5

2 апр 13, 13:39    [14126318]     Ответить | Цитировать Сообщить модератору
 Re: как использовать одно и то же значение секвенции в запросе несколько раз?  [new]
rockclimber
Member

Откуда: у меня в голове опилки?
Сообщений: 11085
forall i in 1..n
	insert into t (a, b, c, d, e, f)
	select varray1(i),
			varray2(i),
			varray3(i),
			seq.nextval + 1,
			seq.nextval + 2,
			seq.nextval + 3;
?
2 апр 13, 13:41    [14126337]     Ответить | Цитировать Сообщить модератору
 Re: как использовать одно и то же значение секвенции в запросе несколько раз?  [new]
--Eugene--
Member

Откуда: Боярышник
Сообщений: 2170
Dimitry Sibiryakov,

и не важно в каком порядке?
select seq.nextval, seq.currval from dual
или
select seq.currval, seq.nextval from dual
2 апр 13, 13:41    [14126339]     Ответить | Цитировать Сообщить модератору
 Re: как использовать одно и то же значение секвенции в запросе несколько раз?  [new]
rockclimber
Member

Откуда: у меня в голове опилки?
Сообщений: 11085
--Eugene--
Dimitry Sibiryakov,

и не важно в каком порядке?
select seq.nextval, seq.currval from dual
или
select seq.currval, seq.nextval from dual
У же б сто раз попробовал...
У меня
select seq.nextval, seq.nextval from dual
дает
123 | 123
2 апр 13, 13:43    [14126356]     Ответить | Цитировать Сообщить модератору
 Re: как использовать одно и то же значение секвенции в запросе несколько раз?  [new]
--Eugene--
Member

Откуда: Боярышник
Сообщений: 2170
rockclimber,

нет, я конечно зря там поставил +1, +2 и +3
по идее там должны быть не столь простые числа: +7, +19, +2...
2 апр 13, 13:44    [14126365]     Ответить | Цитировать Сообщить модератору
 Re: как использовать одно и то же значение секвенции в запросе несколько раз?  [new]
--Eugene--
Member

Откуда: Боярышник
Сообщений: 2170
rockclimber,

ого! :)
2 апр 13, 13:45    [14126367]     Ответить | Цитировать Сообщить модератору
 Re: как использовать одно и то же значение секвенции в запросе несколько раз?  [new]
Серафимный Шестикрыл
Member [заблокирован]

Откуда: С луны свалился
Сообщений: 2922
--Eugene--
что делать?


Кому-нибудь другому можно было бы посоветовать
[url=]почитать документацию[/url]

автор
If any of these locations contains more than one reference to NEXTVAL, then Oracle increments the sequence once and returns the same value for all occurrences of NEXTVAL.
2 апр 13, 13:46    [14126376]     Ответить | Цитировать Сообщить модератору
 Re: как использовать одно и то же значение секвенции в запросе несколько раз?  [new]
Серафимный Шестикрыл
Member [заблокирован]

Откуда: С луны свалился
Сообщений: 2922
почитать документацию

Непонятно, как с таким уровнем интеллекта тебя еще кто-то к клавиатуре подпустил.
Оптимисты...
2 апр 13, 13:48    [14126392]     Ответить | Цитировать Сообщить модератору
 Re: как использовать одно и то же значение секвенции в запросе несколько раз?  [new]
--Eugene--
Member

Откуда: Боярышник
Сообщений: 2170
Серафимный Шестикрыл
автор
...returns the same value for all occurrences of NEXTVAL.
блин, ни за что бы не подумал
2 апр 13, 13:48    [14126394]     Ответить | Цитировать Сообщить модератору
 Re: как использовать одно и то же значение секвенции в запросе несколько раз?  [new]
Серафимный Шестикрыл
Member [заблокирован]

Откуда: С луны свалился
Сообщений: 2922
--Eugene--
блин, ни за что бы не подумал


Да тут не надо думать. Горе от ума ? Открой документацию и прочти.
Не нашел в доке - погугли. Не нагуглил - начинай эксперименты.

Вот жеж бином Ньютона...
2 апр 13, 13:56    [14126443]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить