为什么这个触发器不起作用?我尝试创建从日期时间插入单个日期的触发器。
像这样的例子:
当我插入日期时间时,触发器将在其他列中插入日期、月份、年份、日期名称、年龄。
日期时间、日期月份、年份、日期名称、年龄在同一张表中。
╔══════════════════════════════╦══════╦═══════╦══════╦═════════╦══════════╗
║ 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”的对象。
我应该在创建触发器之前创建列日期、月份、年份和年龄吗?