<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: SQL UPDATE при экспорте ODBC]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме SQL UPDATE при экспорте ODBC форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 02 May 2026 07:00:20 +0300</pubDate>
		<item>
			<title>SQL UPDATE при экспорте ODBC</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum11/message16048/topic1788/">SQL UPDATE при экспорте ODBC</a></b> в форуме <a href="http://forum.quik.ru/forum11/">Экспорт в системы тех.анализа</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_RRdqggKY" href="/user/1894/" bx-tooltip-user-id="1894">Oleg Strelnikov</a> написал:<br />Не понятно, что вы имеете в виду. Был вызван INSERT, но он завершился с ошибкой и поэтому INSERT не отображен в логе?<br /><br />=============<br />Да именно это и имелось ввиду.<br />То что у Вас в базе не настроены первичные ключи не значит что их нет.<br />Для таблиц терминала первичные ключи всегда и безусловно есть, они помечены знаком * в настройках экспорта.<br />В частности для таблицы стоп заявок таковым является поле "Номер" <br />
			<i>17.05.2016 14:53:04, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum11/message16048/topic1788/</link>
			<guid>http://forum.quik.ru/messages/forum11/message16048/topic1788/</guid>
			<pubDate>Tue, 17 May 2016 14:53:04 +0300</pubDate>
			<category>Экспорт в системы тех.анализа</category>
		</item>
		<item>
			<title>SQL UPDATE при экспорте ODBC</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum11/message16046/topic1788/">SQL UPDATE при экспорте ODBC</a></b> в форуме <a href="http://forum.quik.ru/forum11/">Экспорт в системы тех.анализа</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_3w4lobFf" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Ошибка не отображается в логе<br />=============<br />Не понятно, что вы имеете в виду. Был вызван INSERT, но он завершился с ошибкой и поэтому INSERT не отображен в логе?<br /><br />Из лога следует, что выполняются 2 SQL запроса:<br />1. INS ERT IN TO C:\_QUIK_DB\stop (op, tool, stop_price, volume, satet, &nbsp;avolume, till, result, step, sliding, server, price, type, tm, o_no) &nbsp;VALUES ('B', 'SiM6', 66000.00000000, 3.00000000, 'ACTIVE', 3.00000000, &nbsp;'16/05/2016', NULL, 0.00000000, 0.00000000, 'Текущий', 66100.00000000, &nbsp;'Стоп-лимит', '15:40:56', 103025462.00000000)<br />2. UPDATE C:\_QUIK_DB\stop SE T op='B', tool='SiM6', &nbsp;stop_price=66000.00000000, volume=3.00000000, satet='KILLED', &nbsp;avolume=3.00000000, till='16/05/2016', result='KILLED', step=0.00000000, &nbsp;sliding=0.00000000, server='Текущий', price=66100.00000000, &nbsp;type='Стоп-лимит', tm='15:40:56' WHERE o_no=103025462.00000000<br /><br />Исходя из вашего описания механизма экспорта в ODBC между этими 2 запросами должен быть выполнен запрос:<br />INS ERT IN TO C:\_QUIK_DB\stop (op, tool, stop_price, volume, satet, &nbsp; avolume, till, result, step, sliding, server, price, type, tm, o_no) &nbsp; VALUES ('B', 'SiM6', 66000.00000000, 3.00000000, 'KILLED', 3.00000000, &nbsp; '16/05/2016', 'KILLED', 0.00000000, 0.00000000, 'Текущий', 66100.00000000, &nbsp; 'Стоп-лимит', '15:40:56', 103025462.00000000)<br /><br />Я думаю, что этот запрос (INSERT) должен выполниться без ошибки, потому что моя &quot;база данных&quot; - это простой набор dbf файлов, никаких ключей и индексов не настроено, то есть любой INSERT заведомо должен выполниться.<br />Существует ли способ проверить, выполнялся INSERT или нет? <br />
			<i>17.05.2016 14:36:24, Oleg Strelnikov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum11/message16046/topic1788/</link>
			<guid>http://forum.quik.ru/messages/forum11/message16046/topic1788/</guid>
			<pubDate>Tue, 17 May 2016 14:36:24 +0300</pubDate>
			<category>Экспорт в системы тех.анализа</category>
		</item>
		<item>
			<title>SQL UPDATE при экспорте ODBC</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum11/message16045/topic1788/">SQL UPDATE при экспорте ODBC</a></b> в форуме <a href="http://forum.quik.ru/forum11/">Экспорт в системы тех.анализа</a>. <br />
			Здравствуйте,<br />Ошибка не отображается в логе.<br />Работает так:<br />При изменении данных таблицы вначале производится вставка записи. Если вставка<br />завершилась удачно, то обрабатывается следующая запись. Если вставка завершилась<br />неуспешно из-за нарушения первичного ключа, а таблица является обновляемой,<br />то выполняется ее обновление. Если таблица не обновляется, то обрабатывается следующая<br />запись. Иначе генерируется ошибка. <br />
			<i>17.05.2016 14:05:42, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum11/message16045/topic1788/</link>
			<guid>http://forum.quik.ru/messages/forum11/message16045/topic1788/</guid>
			<pubDate>Tue, 17 May 2016 14:05:42 +0300</pubDate>
			<category>Экспорт в системы тех.анализа</category>
		</item>
		<item>
			<title>SQL UPDATE при экспорте ODBC</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum11/message16015/topic1788/">SQL UPDATE при экспорте ODBC</a></b> в форуме <a href="http://forum.quik.ru/forum11/">Экспорт в системы тех.анализа</a>. <br />
			Некоторое время назад в этой ветке форума обсуждали, что при обновлении таблиц выполняется запрос INSERT, а при не удаче - UPD ATE<br /><br />Я использую quik 7.0.4.10 и, судя по quik_odbc.log INS ERT не происходит, выполняется сразу UPD ATE. Вот, например, как выглядит создание и снятие стоп-заявки:<br /><table class="forum-spoiler"><thead onclick="if (this.nextSibling.style.display=='none') { this.nextSibling.style.display=''; BX.addClass(this, 'forum-spoiler-head-open'); } else { this.nextSibling.style.display='none'; BX.removeClass(this, 'forum-spoiler-head-open'); } BX.onCustomEvent('BX.Forum.Spoiler:toggle', [{node: this}]); event.stopPropagation();"><tr><th><div>Скрытый текст</div></th></tr></thead><tbody class="forum-spoiler" style="display:none;"><tr><td>05/16/16 15:40:56.681 [TID=3536] Wake up, table = stop<br />05/16/16 15:40:56.681 [TID=4052] Add_new_data, table = stop,new_seqnumber_to_write = 183030944, write_operation_type = INSERT DATA, sql query = INS ERT IN TO C:\_QUIK_DB\stop (op, tool, stop_price, volume, satet, avolume, till, result, step, sliding, server, price, type, tm, o_no) VALUES ('B', 'SiM6', 66000.00000000, 3.00000000, 'ACTIVE', 3.00000000, '16/05/2016', NULL, 0.00000000, 0.00000000, 'Текущий', 66100.00000000, 'Стоп-лимит', '15:40:56', 103025462.00000000)<br />05/16/16 15:40:56.681 [TID=3536] After ExistData, table = stop, ExistNewDataForExport = TRUE SQL statement = &quot;INS ERT IN TO C:\_QUIK_DB\stop (op, tool, stop_price, volume, satet, avolume, till, result, step, sliding, server, price, type, tm, o_no) VALUES ('B', 'SiM6', 66000.00000000, 3.00000000, 'ACTIVE', 3.00000000, '16/05/2016', NULL, 0.00000000, 0.00000000, 'Текущий', 66100.00000000, 'Стоп-лимит', '15:40:56', 103025462.00000000)&quot;<br />05/16/16 15:40:56.681 [TID=3536] Poke Data, table = stop, henv = 02177F40, hdbc = 02177738, insert_into_table = 0217A0C0, update_table = 021783F0, delete_from_table = 02177FB8, hstmt = 0217A0C0, SQL statement = &quot;INS ERT IN TO C:\_QUIK_DB\stop (op, tool, stop_price, volume, satet, avolume, till, result, step, sliding, server, price, type, tm, o_no) VALUES ('B', 'SiM6', 66000.00000000, 3.00000000, 'ACTIVE', 3.00000000, '16/05/2016', NULL, 0.00000000, 0.00000000, 'Текущий', 66100.00000000, 'Стоп-лимит', '15:40:56', 103025462.00000000)&quot;<br />05/16/16 15:40:56.721 [TID=3536] <br />Duration: 40<br />05/16/16 15:40:56.721 [TID=3536] After ExistData, table = stop, ExistNewDataForExport = FALSE SQL statement = &quot;is absent&quot;<br />05/16/16 15:40:56.721 [TID=3536] Sleep, table = stop<br />05/16/16 15:40:56.721 [TID=3536] Wake up, table = stop<br />05/16/16 15:40:56.721 [TID=3536] After ExistData, table = stop, ExistNewDataForExport = FALSE SQL statement = &quot;is absent&quot;<br />05/16/16 15:40:56.721 [TID=3536] Sleep, table = stop<br />05/16/16 15:41:44.180 [TID=4052] Add_new_data, table = stop,new_seqnumber_to_write = 183030944, write_operation_type = UPDATE DATA, sql query = UPDATE C:\_QUIK_DB\stop SE T op='B', tool='SiM6', stop_price=66000.00000000, volume=3.00000000, satet='KILLED', avolume=3.00000000, till='16/05/2016', result='KILLED', step=0.00000000, sliding=0.00000000, server='Текущий', price=66100.00000000, type='Стоп-лимит', tm='15:40:56' WHERE o_no=103025462.00000000<br />05/16/16 15:41:44.180 [TID=3536] Wake up, table = stop<br />05/16/16 15:41:44.180 [TID=3536] After ExistData, table = stop, ExistNewDataForExport = TRUE SQL statement = &quot;UPDATE C:\_QUIK_DB\stop SE T op='B', tool='SiM6', stop_price=66000.00000000, volume=3.00000000, satet='KILLED', avolume=3.00000000, till='16/05/2016', result='KILLED', step=0.00000000, sliding=0.00000000, server='Текущий', price=66100.00000000, type='Стоп-лимит', tm='15:40:56' WHERE o_no=103025462.00000000&quot;<br />05/16/16 15:41:44.180 [TID=3536] Poke Data, table = stop, henv = 02177F40, hdbc = 02177738, insert_into_table = 0217A0C0, update_table = 021783F0, delete_from_table = 02177FB8, hstmt = 021783F0, SQL statement = &quot;UPDATE C:\_QUIK_DB\stop SE T op='B', tool='SiM6', stop_price=66000.00000000, volume=3.00000000, satet='KILLED', avolume=3.00000000, till='16/05/2016', result='KILLED', step=0.00000000, sliding=0.00000000, server='Текущий', price=66100.00000000, type='Стоп-лимит', tm='15:40:56' WHERE o_no=103025462.00000000&quot;<br />05/16/16 15:41:44.230 [TID=3536] <br />Duration: 50<br />05/16/16 15:41:44.230 [TID=3536] After ExistData, table = stop, ExistNewDataForExport = FALSE SQL statement = &quot;is absent&quot;<br />05/16/16 15:41:44.230 [TID=3536] Sleep, table = stop<br /> </td></tr></tbody></table><br />Как на самом деле работает обновление? <br />
			<i>16.05.2016 15:49:12, Oleg Strelnikov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum11/message16015/topic1788/</link>
			<guid>http://forum.quik.ru/messages/forum11/message16015/topic1788/</guid>
			<pubDate>Mon, 16 May 2016 15:49:12 +0300</pubDate>
			<category>Экспорт в системы тех.анализа</category>
		</item>
	</channel>
</rss>
