Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Запрос на удаление с использованием временной таблицы
|
|||
|---|---|---|---|
|
#18+
Есть таблица Т1 с полями ID1,ID2,ID3, являющимися FK. В программе формируется временная таблица #T с такими же полями, в которую записываются строки с комбинациями этих ID. Далее надо запустить SP которая бы удалила записи из таблицы Т1. Конструкция типа: DELETE FRROM T1 WHERE SELECT T1.ID1=#T.ID1 AND T1.ID2=#T.ID2 AND T1.ID3=#T.ID3 FROM #T А как тогда, подскажите пожалуйста?! И еще вопрос, касающийся проектироания БД. Есть таблица Изделий, и есть таблица Операцй. В таблицу Операции по Изделиям записываем ИД изделия и ИД операции. Как правильнее поступить, комбинацию из этих двух ИД сделать первичным ключом этой таблицы или оставить эту таблицу без первичного ключа, а эти ИД оставить просто в качестве FK? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2001, 05:30 |
|
||
|
Запрос на удаление с использованием временной таблицы
|
|||
|---|---|---|---|
|
#18+
DELETE FROM T1 FROM T1 JOIN #T ON T1.ID1=#T.ID1 AND T1.ID2=#T.ID2 AND T1.ID3=#T.ID3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2001, 05:34 |
|
||
|
Запрос на удаление с использованием временной таблицы
|
|||
|---|---|---|---|
|
#18+
Вот интересно, сработал ли запросик? Нет, с синтаксисом все нормально, вот только увидит ли данная сторедпрока временную таблицу, "сформированную в программе"? Грабельки-то старенькие 2 AlexanderVS, как ты решил проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2001, 06:59 |
|
||
|
Запрос на удаление с использованием временной таблицы
|
|||
|---|---|---|---|
|
#18+
По поводу Операций и Изделий. Итого, имеем: Т1 - Операции(первичн. ключ - ИДОперации) Т2 - Изделия(первич. ключ - ИДИзделия) Т3 - ОперацииПоИзделиям. Так вот, если комбинация "Операция - Изделие" - уникальна, то безусловно, в Т3 первичный ключ по ИДОперации+ИДИзделия. В противном случае (не уникальность комбинации) - сделай по ним в Т3 просто индексы. И я бы еще в этом случае ввел поле ИДКомбинацииОперацияИзделие. Несколько запутано, но я думаю, понятно. Теперь вернемся к FK. Признаться, в SQL7 я связываю таблицы, однако в свойстве Enforce relationship for INSERT and UPDATES снимаю галочку - в результате, FK является просто информативным ( шоб на диаграме видно было). Целостность при удалении обеспечиваю триггерами. А вот в 2К вроде FK стали поприятнее - сами поддерживают каскадное удаление, поэтому никаких галочек снимать не надо. Я работаю на семерке, о 2К только слышал. Коллеги, раб. в 2К, я правильно слышал?. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2001, 07:23 |
|
||
|
Запрос на удаление с использованием временной таблицы
|
|||
|---|---|---|---|
|
#18+
>DELETE FROM T1 >FROM T1 >JOIN #T ON T1.ID1=#T.ID1 AND T1.ID2=#T.ID2 AND T1.ID3=#T.ID3 Иногда решения лежат на поверхности, но мы не видим их А ведь так просто! Спасибо. 2 AnKa - запросик работает. Вобщем то я так часто делаю, создаю в программе(VB) # таблицу, заполняю ее данными, а в SP использую эту таблицу. (Коннект с базой постоянный, на время работы программмы.) Ни разу не писал триггера, в т.ч. и для удаления из подчиненных таблиц, все это прописывал в SP отвечающей за удаление данных. Дайте, пожалуйста, пример триггера для удаления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2001, 08:13 |
|
||
|
Запрос на удаление с использованием временной таблицы
|
|||
|---|---|---|---|
|
#18+
Т1- главная таблица (документы): ID int IDENTITY (1, 1) NOT NULL , - ключевое поле - идентефикатор документа Field1 char(10) NULL , Field2 char(10) NULL - остальные информативные поля Т2 - подчиненная таблица (детализация документов): ID int IDENTITY (1, 1) NOT NULL , ключевое поле - идентефикатор строки детализации (в принципе для нашего примера оно ненужно) LINK_ID int NOT NULL , - собственно поле, связующее с Т1.ID. По нему необходим индекс. Field1 char (10) NULL , Field2 char (10) NULL - остальные информативные поля детализации. А вот и триггерок на T1: \nCREATE TRIGGER tr_del_T1 ON T1 FOR DELETE AS DELETE T2 FROM deleted d ,T2 WHERE d.ID=T2.LINK_ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2001, 09:17 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32012152&tid=1825835]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 271ms |
| total: | 394ms |

| 0 / 0 |
