Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
SELECT last_value ...
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, уважаемые гуру ;) С PostgreSQL общаюсь недавно и потому возможно мой вопрос из разряда албанских, но вот какая ситуация, причины коей не понимаю, сложилась: Выполняю последовательно следующие SQL-и: BEGIN WORK; INSERT INTO sometable (somefield) VALUES ('somevalue'); SELECT last_value FROM sometable_someid_seq; ^-- тут получаю значение last_value и выполняю следующий --V запрос: SELECT COUNT(*) FROM sometable WHERE some_id = [полученный last_value] результат - COUNT(*) = 0 Собственно 2 вопроса: 1. как такое может случиться ? 2. как избежать такого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 16:42 |
|
||
|
SELECT last_value ...
|
|||
|---|---|---|---|
|
#18+
Хм... у меня всё ок. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 16:58 |
|
||
|
SELECT last_value ...
|
|||
|---|---|---|---|
|
#18+
У меня в 99.99% случаев тоже все ок, но бывает, что COUNT(*) выдает 0 :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 17:05 |
|
||
|
SELECT last_value ...
|
|||
|---|---|---|---|
|
#18+
надо юзать функцию currval("seq_name") так как если ты обращаешься напрямую к последовательности, то в это время в другой транзакции эта последовательность может быть параллельно изменена. А функция выдаёт тебе значение, которые было получено в твоей сессии. авторReturn the value most recently obtained by nextval for this sequence in the current session. (An error is reported if nextval has never been called for this sequence in this session.) Notice that because this is returning a session-local value, it gives a predictable answer whether or not other sessions have executed nextval since the current session did. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 17:12 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34147697&tid=2005932]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 303ms |

| 0 / 0 |
