このトリガーが機能しないのはなぜですか? datetime から単一の日付を挿入するトリガーを作成しようとしています。
このような例:
日時を挿入すると、トリガーは日付、月、年、曜日、年齢を他の列に挿入します。
datetime、date month、year、dayname、age は同じテーブルにあります。
╔══════════════════════════════╦══════╦═══════╦══════╦═════════╦══════════╗
║ DateTime ║ DATE ║ MONTH ║ YEAR ║ DAYNAME ║ Age ║
╠══════════════════════════════╬══════╬═══════╬══════╬═════════╬══════════╣
║ April, 06 1982 00:00:00+0000 ║ 4 ║ 6 ║ 1982 ║ Friday ║ 31 ║
╚══════════════════════════════╩══════╩═══════╩══════╩═════════╩══════════╝
CREATE TRIGGER tgl
ON penduduk
FOR INSERT
AS
DECLARE
@myDate CHAR(11)
SELECT @myDate=tgl_lahir FROM inserted
INSERT INTO penduduk(tgl) VALUES (datename(day,@myDate))
上記のコードを試すと、メッセージが表示されました
メッセージ 2714、レベル 16、状態 2、プロシージャ tgl、行 8
データベースには、'tgl' という名前のオブジェクトが既に存在します。
トリガーを作成する前に、列の日付、月、年、日、年齢を作成する必要がありますか?