Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / можно ли посмотреть определено ли в данной сессии текущее значение последовательности? / 11 сообщений из 11, страница 1 из 1
27.11.2006, 14:28
    #34157784
DDT
DDT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли посмотреть определено ли в данной сессии текущее значение последовательности?
Привет. Вот есть функция записи статистики:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
DECLARE
	_user_id ALIAS FOR $ 1 ;
	_table_name ALIAS FOR $ 2 ;
	_record_id ALIAS FOR $ 3 ;
	_action_id ALIAS FOR $ 4 ;
	_function_name ALIAS FOR $ 5 ;

	transactionID integer =  0 ;
BEGIN

	SELECT currval('surv_transaction_id_seq') INTO transactionID;

	INSERT INTO surv_stat 
		(date, time, user_id, table_name, record_id, action_id, function_name, transaction_id)
	VALUES
		(current_date, current_time, _user_id, _table_name, _record_id, _action_id, _function_name, transactionID);
		--(current_date, current_time, _user_id, _table_name, _record_id, _action_id, _function_name, 0);
END;

В таблицу surv_stat записывается номер транзакции, если таковой есть, иначе "ноль".

Сложность в том, что выдается ошибка:
ERROR: currval of sequence "surv_transaction_id_seq" is not yet defined in this session

То, что значение "is not yet defined" нормально. Меня устраивает в таком случае "ноль". Но как избавиться от ошибки.

Догадки:
можно ли посмотреть определено ли в данной сессии текущее значение последовательности? Может is_defined какой-нибудь есть?

А? Спасибо.
...
Рейтинг: 0 / 0
27.11.2006, 17:12
    #34158576
СергейК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли посмотреть определено ли в данной сессии текущее значение последовательности?
Mojete poprobovat' zakluchit' poluchenie curval v EXCEPTION block , chtoby perehvatyvat' etu oshibku.
...
Рейтинг: 0 / 0
27.11.2006, 17:16
    #34158588
DDT
DDT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли посмотреть определено ли в данной сессии текущее значение последовательности?
Спасибо, попробую
...
Рейтинг: 0 / 0
27.11.2006, 18:26
    #34158834
СергейК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли посмотреть определено ли в данной сессии текущее значение последовательности?
DDTСпасибо, попробую
A perehvatyvat' nado oshibku:
55000 OBJECT NOT IN PREREQUISITE STATE object_not_in_prerequisite_state
...
Рейтинг: 0 / 0
29.11.2006, 15:35
    #34164461
DDT
DDT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли посмотреть определено ли в данной сессии текущее значение последовательности?
СергейК DDTСпасибо, попробую
A perehvatyvat' nado oshibku:
55000 OBJECT NOT IN PREREQUISITE STATE object_not_in_prerequisite_state

Поясни пожалуйста. Что это? Как перехватывать?
...
Рейтинг: 0 / 0
29.11.2006, 15:37
    #34164474
СергейК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли посмотреть определено ли в данной сессии текущее значение последовательности?
DDTПоясни пожалуйста. Что это? Как перехватывать?
http://www.postgresql.org/docs/8.1/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING
...
Рейтинг: 0 / 0
29.11.2006, 15:46
    #34164516
DDT
DDT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли посмотреть определено ли в данной сессии текущее значение последовательности?
СергейК DDTПоясни пожалуйста. Что это? Как перехватывать?
http://www.postgresql.org/docs/8.1/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING

Класссно! Спасибо. Большое.
...
Рейтинг: 0 / 0
29.11.2006, 17:24
    #34164973
Пчеловод
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли посмотреть определено ли в данной сессии текущее значение последовательности?
может просто в исходном скрипте заменить currval на nextval?
...
Рейтинг: 0 / 0
05.12.2006, 08:28
    #34176424
DDT
DDT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли посмотреть определено ли в данной сессии текущее значение последовательности?
Пчеловодможет просто в исходном скрипте заменить currval на nextval?

Можно. но тогда это будет nextval, а мне нужен именно curval. Т.к. curval у меня выбирается в другой функции (или не выбирается :) )
...
Рейтинг: 0 / 0
05.12.2006, 08:32
    #34176429
DDT
DDT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли посмотреть определено ли в данной сессии текущее значение последовательности?
Поправка!

Текст:
Т.к. curval у меня выбирается в другой функции (или не выбирается :) )

Читать как:
Т.к. nextval у меня выбирается в другой функции (или не выбирается :) )
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
02.02.2008, 00:35
    #35105572
raul_83
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли посмотреть определено ли в данной сессии текущее значение последовательности?
DDT СергейК DDTСпасибо, попробую
A perehvatyvat' nado oshibku:
55000 OBJECT NOT IN PREREQUISITE STATE object_not_in_prerequisite_state

Поясни пожалуйста. Что это? Как перехватывать?


Спасибо!!!
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / можно ли посмотреть определено ли в данной сессии текущее значение последовательности? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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