2012-02-09 22 views
5

私は仕事を持っているN2,500ベースの年次ビルがDateCreated列にPatientsInfoテーブルに登録されているすべての患者を自動的に請求します。どのように自動的にSQL Serverで既存の日付に1年間の日付を追加

確かに私はPatientDebitテーブルにこれらのレコードを挿入し、この手順を実行するSQLジョブを作成するには、ストアドプロシージャを使用します。

どのように私は私が別のテーブルPatientDebitに挿入するためDateCreatedは今、1歳のあるPatientsInfoテーブルでselect *患者。

このように私は私のアルゴリズムを持っている:PatientsInfoテーブル

  • から患者がDateCreated
  • に1年間の追加のための登録の

    1. 選択日付は日付が今日追加されますか?
    2. N2000
    3. の表でPatientDebitテーブルにレコードを挿入していない場合は、何もしないでください。

    どのように私は、スクリプトを書くようにしてください?

  • +1

    Google "dateadd" – mbeckish

    +0

    これはC#とどのように関連していますか? (編集:削除されたタグ) –

    +0

    または、2つの日付の間の時間帯を使用する場合は、Googleの「datediff」を使用します。 – mbeckish

    答えて

    0

    存在は、SQLに.addまたはaddyear()関数でなければなりません。 .add(年、日、月)のように追加します。 sql datetimeを読み込み、年、月、および秒を追加します。それはかなり簡単です。それはC#のようなものです。

    Dateadd(info)。今は時間があります。 getdate()。

    6

    が同じである:

    INSERT INTO PatientDebit 
    SELECT * from PatientsInfo WHERE DateCreated<DATEADD(year, -1, GETDATE()) 
    

    あなたはDateCreatedにインデックスを持っていることを確認してくださいPatientsInfoに大量のレコードがあると、そうでなければ遅くなる可能性があります。

    +0

    これは私のために働く。 – Rahmat

    +0

    うれしかった!たぶんあなたは答えを受け入れることを検討することができますか? – Johann

    関連する問題