s_phone
このテーブルには列があるテーブルがありますs_update
。
このテーブルを更新または挿入するたびに現在の日時を取得したい
getdate()
またはsystime()
、CURRENT_TIMESTAMP
更新時ではなく挿入時のみの日時を取得します
s_phone
このテーブルには列があるテーブルがありますs_update
。
このテーブルを更新または挿入するたびに現在の日時を取得したい
getdate()
またはsystime()
、CURRENT_TIMESTAMP
更新時ではなく挿入時のみの日時を取得します
TRIGGERを使用できます テーブルで挿入/更新が発生すると、トリガーが自動的に実行されます。
例えば:
create table tbl1
(
col1 int primary key,
col2 datetime
)
go
create trigger trg01
on tbl1
for insert, update
as
begin
update tbl1
set col2 = GETDATE()
where col1 in (select col1 from inserted)
end
go
insert into tbl1(col1) values (1);
あなたの質問は紛らわしいです。最初に「 ..このテーブルに更新または挿入するたびに現在の日付時刻を取得したい..」と言い、質問の最後の部分で、「..日付時刻を取得する」と言いました更新時ではなく挿入時のみ.."
ただし、これを試してみてください。列にデフォルト値を設定してみませんか。例:
CREATE TABLE Hello
(
ID INT,
DATE DATETIME DEFAULT GETDATE()
)
INSERT INTO Hello (ID) VALUES (1)
INSERT INTO Hello (ID) VALUES (2)
INSERT INTO Hello (ID) VALUES (3)
INSERT INTO Hello (ID) VALUES (4)
getdate() or systime() or CURRENT_TIMESTAMP
これらは、現在のシステム日付時刻を示します。挿入が必要な場合は、イベントキャプチャを更新してトリガーを使用するか、自分で日時を取得して必要なテーブルに挿入できます。