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

Тема в разделе "SQL", создана пользователем Levi, 11 май 2007.

Статус темы:
Закрыта.
  1. Levi

    Levi Гость

    Пожалуйста помогите. Мне процедурку одну написать надо на удаление из БД документа хранящегося больше 2 лет.
    Документ и даты хранятся в разных таблицах и соединяются через третью таблицу по ИД.
    Пример:
    1)таблица документов
    id_doc
    номер_документа
    2)таблица дат
    id_date
    дата создания
    3)таблица соединитель
    id_cdelka
    id_date
    id_doc
    Начальная дата хранится в БД, я ее сам туда заношу в формате год.месяц.день и цепляю ее к документу, т.е. выходит следующее Документ1 был создан 2006.10.03
    Эту дату нужно сравнить с текущей и если разница между ними 2 года удалить автоматически, как это сделать?
     
  2. DZX

    DZX Гость

    delete from [ТАБЛИЦА] where datediff(year,[ДАТА СОЗДАНИЯ ДОКУМЕНТА],getdate())>2

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

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

    Barmutik Гость

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

    Код (Text):
    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)
    Что-то где-то так ... хотя явно можно оптимальнее...
     
  4. DZX

    DZX Гость

    Для: sax_ol
    Мы даем общее направление, мысли так сказать, а конкретная реализация - дело вопрошающего. Должен же он тоже мозгами пошевелить иначе все зря.
     
  5. Levi

    Levi Гость

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

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


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

    Levi Гость

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

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

Поделиться этой страницей