<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBS/SQL: Одновременное удаление из 2-х и более таблиц]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5757&amp;type=atom" />
	<updated>2011-04-28T10:54:39Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=5757</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS/SQL: Одновременное удаление из 2-х и более таблиц]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=47907#p47907" />
			<content type="html"><![CDATA[<p>Угу, спасибки !<br />Вопрос снят.</p>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2011-04-28T10:54:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=47907#p47907</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS/SQL: Одновременное удаление из 2-х и более таблиц]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=47895#p47895" />
			<content type="html"><![CDATA[<p>Почитал хэлп к аксесу - там Delete работает с одной таблицей.<br />Почитал BOL, MSDN, sql.ru по Transact-SQL - в DELETE может упоминаться несколько таблиц после второго FROM(в качестве критериев для выбора удаляемых записей), но удаляться данные будут только из одной таблицы, указанной после DELETE.<br /><a href="http://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/3ad3be26-fc6b-4a7a-8747-ced2e0b6a4e5/">how to delete records from multiple tables</a><br />Похоже в T-SQL также подобное можно реализовать с помощью каскадного удаления.</p><p>Вариант приведённый в википедии не знаю для какого диалекта приведён <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[BeS Yara]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25643</uri>
			</author>
			<updated>2011-04-28T09:13:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=47895#p47895</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS/SQL: Одновременное удаление из 2-х и более таблиц]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=47890#p47890" />
			<content type="html"><![CDATA[<p>Ключевых полей было по одному на таблицу. Впрочем не существенно - разбил схему, удалил ключевые поля(в таблицах больше ключей нет). Осталось только индексное поле в таблице tabARM. Снова сделал связь один к многим с каскадным удалением связанных записей. Закрыл mdb-шку.<br /></p><div class="codebox"><pre><code>
Set Engine = CreateObject(&quot;DAO.DBEngine.36&quot;)
Set MDB=Engine.OpenDatabase (&quot;c:\aScripts\vbs\MDB\db5.mdb&quot;)
arm=&quot;002&quot;
mdb.Execute(&quot;DELETE * FROM tabARM WHERE arm=&quot;&quot;&quot; &amp; arm &amp; &quot;&quot;&quot;&quot;)</code></pre></div><p>Запустил скрипт. Открыл mdb - ни в одной таблице записей по arm=&quot;002&quot; нет.</p><p>Или в первой таблице колонка arm содержит не уникальные записи?<br />P.S. по sql-команде ещё подумаю</p>]]></content>
			<author>
				<name><![CDATA[BeS Yara]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25643</uri>
			</author>
			<updated>2011-04-28T07:30:50Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=47890#p47890</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS/SQL: Одновременное удаление из 2-х и более таблиц]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=47889#p47889" />
			<content type="html"><![CDATA[<p><strong>2 BeS Yara</strong> у меня такой вариант не прокатит...<br />я не все подробности описал, для Вашего варианта мне нужно 2 ключевых поля, а такого не бывает <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /><br />Меня интересует только вариант решения SQL командой...</p>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2011-04-28T07:09:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=47889#p47889</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS/SQL: Одновременное удаление из 2-х и более таблиц]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=47886#p47886" />
			<content type="html"><![CDATA[<p>Добрый день.</p><p>С mdb дела имел мало, но есть одна мысль(надеюсь окажется полезной). <br />Предполагаю что проблема не в скрипте, а в запросе. Удаление сразу из двух таблиц у меня не получилось(скорее всего по недостатку знаний этого диалекта SQL <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />). Но нашел другой вариант, который может подойти.</p><p>Для теста сделал две таблицы: tabARM и tabSOFT(Access 2003). Для ключей в каждой отдельное поле(счётчик), в обоих таблицах есть поле ARM. В tabARM поле ARM сделал уникальным индексом. Далее в схеме данных связал эти таблицы по полю ARM (один tabARM.arm) к (многим tabSOFT.arm) - если я правильно понял суть таблиц, то в первой список рабочих мест, во второй список софта на этих рабочих местах? В свойствах связи включил каскадное удаление и обновление связанных записей. Теперь при удалении записи о рабочем месте из первой таблицы также удаляются связанные записи из второй(обновление за компанию включил, полагаю удаляться будет и без каскадного обновления):<br /></p><div class="codebox"><pre><code>
DELETE * FROM tabARM WHERE tabARM.arm=&quot;002&quot;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[BeS Yara]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25643</uri>
			</author>
			<updated>2011-04-28T06:18:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=47886#p47886</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBS/SQL: Одновременное удаление из 2-х и более таблиц]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=47884#p47884" />
			<content type="html"><![CDATA[<p>Коллеги, приветствую !<br />Вопрос следующий, нормально производится удаление из каждой по отдельности таблицы, хотел сделать так, чтобы сразу же удаляло из обоих таблиц, но комп падает в ступор, кто знает, в чём дело ?<br />Необходимые индексы созданы.<br />Код следующий<br /></p><div class="codebox"><pre><code>Set Engine = CreateObject(&quot;DAO.DBEngine.36&quot;)
Set MDB=Engine.OpenDatabase (&quot;C:\Inetpub\wwwroot\invent\invent.mdb&quot;)
arm=&quot;host07&quot;
mdb.Execute(&quot;delete a.*,b.* from primary a,software b where a.arm=b.arm=&#039;&quot; &amp; arm &amp; &quot;&#039;&quot;)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2011-04-28T04:40:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=47884#p47884</id>
		</entry>
</feed>
