Помогите написать процедуру в Mssql Server 2003

  • Автор темы Levi
  • Дата начала
Статус
Закрыто для дальнейших ответов.
L

Levi

#1
Пожалуйста помогите. Мне процедурку одну написать надо на удаление из БД документа хранящегося больше 2 лет.
Документ и даты хранятся в разных таблицах и соединяются через третью таблицу по ИД.
Пример:
1)таблица документов
id_doc
номер_документа
2)таблица дат
id_date
дата создания
3)таблица соединитель
id_cdelka
id_date
id_doc
Начальная дата хранится в БД, я ее сам туда заношу в формате год.месяц.день и цепляю ее к документу, т.е. выходит следующее Документ1 был создан 2006.10.03
Эту дату нужно сравнить с текущей и если разница между ними 2 года удалить автоматически, как это сделать?
 
D
#2
delete from [ТАБЛИЦА] where datediff(year,[ДАТА СОЗДАНИЯ ДОКУМЕНТА],getdate())>2

Удаляюся все документы созданные более двух лет назад.

Ремарка: Версии MS SQL Server
6.5, 7.0, 8.0 (2000), 9.0 (2005)
 
B

Barmutik

#3
А зачем ханимая процедура ?

Код:
DELETE FROM таблица документов WHERE id_doc IN (SELECT id_doc
FROM таблица соединитель T1, таблица дат T2 WHERE T1.id_date = T2.id_date AND DATEDIFF(Day, T2.дата создания, Date) > 730)
Что-то где-то так ... хотя явно можно оптимальнее...
 
D
#4
Для: sax_ol
Мы даем общее направление, мысли так сказать, а конкретная реализация - дело вопрошающего. Должен же он тоже мозгами пошевелить иначе все зря.
 
L

Levi

#5
Для: sax_ol
У меня уже написанна все процедуры Удаление, Добавление, Редактирование это все я умею...
Я не мог разобраться каким образом сравнивать дату внесенную в базу с текущей датой...
Не нужно делать из меня тут дауна (
За ответы спасибо, благодарен...

Блни даже обидно маленько стало (
Неужели никто и никогда не просил НАПРАВИТЬ В НУЖНОЕ РУСЛО
Для: Barmutik
Для: DZX
СПАСИБО


Для: Barmutik
Я пишу для ТЭЦ прогу для автоматизации процесса формирования договоров, все вроде написал, все работает...и вот решил добавить еще автоматическое удаление, чтобы слишком базу не загромождать не нужными данными...
 
L

Levi

#6
Для: sax_ol
Много информации, потому что на прошлых форумах меня обвинили в том, что я не корректно поставил вопрос и указал слишком мало информации, потом здесь и расписал все...Если сбило с толку то извиняюсь, и еще раз утверждаюсь в том, что сколько людей столько и мнений )
И еще можно вопрос, каким образом будет происходить сравнение, т.е. его технология?
И запрос в сравнении даты как часто будет происходить? Если довольно часто, не перегрузит ли это сервер?
P.S.
Вопрос не по теме, подскажите пожалуйста где можно скачать литературу по С++Билдер, а то в интернете ничего сам путного найти не смог, а справку не всегда разберу, приходится многое писать методом научного тыка, что не всегда помогает...

Для: sax_ol
Много информации, потому что на прошлых форумах меня обвинили в том, что я не корректно поставил вопрос и указал слишком мало информации, потом здесь и расписал все...Если сбило с толку то извиняюсь, и еще раз утверждаюсь в том, что сколько людей столько и мнений )
И еще можно вопрос, каким образом будет происходить сравнение, т.е. его технология?
И запрос в сравнении даты как часто будет происходить? Если довольно часто, не перегрузит ли это сервер?
P.S.
Вопрос не по теме, подскажите пожалуйста где можно скачать литературу по С++Билдер, а то в интернете ничего сам путного найти не смог, а справку не всегда разберу, приходится многое писать методом научного тыка, что не всегда помогает...
 
Статус
Закрыто для дальнейших ответов.