Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Нужно сделать условие, если строки в таблице остались то шапку не удалять.  [new]
Protonik
Member

Откуда:
Сообщений: 3
Добрый день. Помогите люди добрые

Есть база, уже весит 120 гиг, я собираюсь поставить чтоб автоматом удалялись строки - 3 месяца от данного числа,

Delete top (4000000) from drSales where idDoc in (select top 100000 d.iddoc
from drsales d, dhsales d1 where d.idDoc=d1.id and d1.OpDate< dateadd(month,-3,getdate()))

потом нужно будет удалять шапки Delete from dhsales where OpDate<dateadd(month,-3,getdate())

нужно сделать условие, если строки в drSales остались то шапку не удалять. Помогите с условием.

Заранее спасибо!!
10 окт 14, 10:46    [16685895]     Ответить | Цитировать Сообщить модератору
 Re: Нужно сделать условие, если строки в таблице остались то шапку не удалять.  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
where not exists ()
10 окт 14, 10:47    [16685905]     Ответить | Цитировать Сообщить модератору
 Re: Нужно сделать условие, если строки в таблице остались то шапку не удалять.  [new]
Protonik
Member

Откуда:
Сообщений: 3
Спасибо что ответили но не могли бы пример написать никогда это условие не применял
10 окт 14, 10:51    [16685951]     Ответить | Цитировать Сообщить модератору
 Re: Нужно сделать условие, если строки в таблице остались то шапку не удалять.  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
хелп конечно чичтать никто не хочет :(

delete from dhsales hr
where hr.OpDate<dateadd(month,-3,getdate())
and not exists (
  select 1
  from idDoc
  where idDoc=hr.id 
)
10 окт 14, 10:53    [16685969]     Ответить | Цитировать Сообщить модератору
 Re: Нужно сделать условие, если строки в таблице остались то шапку не удалять.  [new]
Glory
Member

Откуда:
Сообщений: 104760
Protonik
Спасибо что ответили но не могли бы пример написать никогда это условие не применял

вместо where ..in () будет where not exists()
10 окт 14, 10:54    [16685973]     Ответить | Цитировать Сообщить модератору
 Re: Нужно сделать условие, если строки в таблице остались то шапку не удалять.  [new]
Protonik
Member

Откуда:
Сообщений: 3
Спасибо сейчас попробую
10 окт 14, 10:57    [16685999]     Ответить | Цитировать Сообщить модератору
 Re: Нужно сделать условие, если строки в таблице остались то шапку не удалять.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Поставьте внешний ключ на шапку no action и Вы ее не сможете удалить при всём желании.
10 окт 14, 11:37    [16686328]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить