0

試用版ライセンスの有効期限の機能を実装する必要があります。Membership次の列を持つテーブルを作成しました:

  • Registration_Date
  • Trial_Expiration_Date
  • Trial_Expired(値: Y/N)。

試用期間は 2 週間です。

に手紙を書くのを手伝ってくれませんかstored procedure:

  1. 列の更新登録が成功するとすぐTrial_Expiration_Date = Registration_Date + 14.に列に値を挿入します。"Registration_Date"

  2. 今日との日付差Trial_Expiration_Dateが 0 の場合、フィールド"Trial_Expired"をに更新しました'Y'

SQL Server 2008 データベースを使用しています。

4

2 に答える 2

0

代わりに、の計算フィールドを作成できますTrial_Expired

CREATE TABLE Membership
    (
    Registration_Date DATE, 
    Trial_Expiration_Date DATE,
    Trial_Expired AS  CASE
             WHEN Trial_Expiration_Date < GETDATE() THEN 'Y'
             ELSE 'N'
           END
    )  ON [PRIMARY]
于 2013-03-17T19:29:43.763 に答える
0

CASEupdateステートメントで式を使用できます

UPDATE Membership
SET    Trial_Expiration_Date = DATEADD(MM, 14, Registration_Date),
       Trial_Expired =
           CASE
             WHEN DATEADD(MM, 14, Registration_Date) < GETDATE() THEN 'Y'
             ELSE 'N'
           END
WHERE ... -- some condition here
于 2013-03-17T19:12:55.940 に答える