ユーザーがUserIDを非アクティブ化またはアクティブ化することを決定したときに、日付を挿入しようとしています。私はSPを使ってそれをトリガーしようとしていますが、どうやらこれは思っていたよりも難しいです。
私はできる
SELECT GETDATE()
日付を取得するが、GETDATEからその情報を挿入し、必要な列に入れる方法はありますか?
いくつかの方法。まず、[de] activationが発生するたびに行を追加する場合、列のデフォルトをGETDATE()に設定し、挿入に値を設定することはできません。さもないと、
UPDATE TableName SET [ColumnName] = GETDATE() WHERE UserId = @userId
特定のテーブル(tblTable)に新しい行を挿入するには:
INSERT INTO tblTable (DateColumn) VALUES (GETDATE())
既存の行を更新するには:
UPDATE tblTable SET DateColumn = GETDATE()
WHERE ID = RequiredUpdateID
新しい行をINSERT
ingするときは、テーブルにある制約を観察する必要があることに注意してください-NOT NULL
制約-したがって、他の列に値を指定する必要がある場合があります。たとえば...
INSERT INTO tblTable (Name, Type, DateColumn) VALUES ('John', 7, GETDATE())
_UPDATE Table
SET DateColumn=GETDATE()
WHERE UserID=@UserID
_
テーブルに挿入し、常に現在の日付を入力する必要がある場合は、GETDATE()
をその列のデフォルト値として設定することをお勧めします。NULLは許可しません
情報をテーブルに保存する場合は、INSERTまたはUPDATEステートメントを使用する必要があります。 UPDATEステートメントが必要なようです。
UPDATE SomeTable
SET SomeDateField = GETDATE()
WHERE SomeID = @SomeID
このようにデフォルトでgetdate()を使用できます SOの質問の受け入れられた回答が表示されます 。この方法では、日付を指定せず、残りを挿入するだけで、その日付が列のデフォルト値になります。
挿入の値リストで指定し、必要に応じて手動で実行することもできます。