Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
GLOBAL TEMPORARY в SQL
|
|||
|---|---|---|---|
|
#18+
Коллеги, подскажите, в чем я не прав: В портале последовательно выполняю запросы 1. CREATE GLOBAL TEMPORARY TABLE XXX ( CODE INT NOT NULL, NAME CHAR(30) NOT NULL ) 2. INSERT into XXX (CODE,NAME) VALUES (1,'QWERTY') 3. SELECT * FROM XXX SQLCODE=0 во всех трех запросах, но после 3-го получаю 0 записей. Если те же запросы выполнить без GLOBAL TEMPORARY, то запись в таблице ХХХ получаем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2009, 16:30 |
|
||
|
GLOBAL TEMPORARY в SQL
|
|||
|---|---|---|---|
|
#18+
все работает Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. и так тоже Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 09:05 |
|
||
|
GLOBAL TEMPORARY в SQL
|
|||
|---|---|---|---|
|
#18+
DAiMor, Версия: Cache for Windows (x86-32) 2008.2 (Build 526) Fri Oct 17 2008 02:28:33 EDT После выполнения вашего кода в программе написал строки SET rset=##class(%ResultSet).%New("%DynamicQuery:SQL") SET sc=rset.Prepare("SELECT * FROM SQLUser.XXX") SET sc=rset.Execute() WHILE rset.Next() { WRITE rset.Data("NAME"),", ",rset.Data("CODE"),! } В терминале получил: TEST>do ##class(Books.TempT).test() QWERTY, 1 QWERTY, 1 В портале же не могу ничего сделать, ибо на запрос : SELECT * FROM SQLUser.XXX выдается SQLCODE: 100 Количество строк: 1 Быстродействие: 0.001 Секунд 12 глобальных ссылок # Aggregate_1 1 0 Завершено Видимо, дело все же в версии. Попробую поставить другой инстанс с 2009.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 12:48 |
|
||
|
GLOBAL TEMPORARY в SQL
|
|||
|---|---|---|---|
|
#18+
Мне ответил Олег Оленин: Ситуация с global temporary table такая (описание в http://localhost:57772/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_createtable#RSQL_createtable_temp ): - определение такой таблицы (CREATE TABLE) доступно всем - данные, которые вставляются в такую таблицу, храняться в памяти конкретного процесса, который эти данные туда вставил (точнее в process global globals, под памятью тут понимается не обязательно ОЗУ) - поэтому при запросах видны только данные, которые были вставлены в рамках процесса. В случае портала HTTP запросы обрабатываются несколькими процессами (так устроены CSP приложения, при желании можно устроить "залипание" HTTP сессии на один процесс). Поэтому предсказать, что в следующий раз ваш запрос будет выполнен против того же процесса, невозможно. Если работать в одном процессе, то все хорошо. Вроде теперь все встало на свои места, Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 12:56 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=36064148&tid=1558465]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 415ms |

| 0 / 0 |
