【发布时间】:2020-02-16 21:18:49
【问题描述】:
我想创建一个触发器,一旦插入了一个属性,它将填充表中的其余值。
因此,一旦插入了日期,我就需要触发器来填写其余列。
CREATE TABLE dim_date
(
Date_Id INTEGER
CONSTRAINT date_id_pk PRIMARY KEY IDENTITY (1,1),
CalendarDate DATE NOT NULL,
CalendarYear VARCHAR (20),
CalendarQuarter VARCHAR (20),
CalendarMonth VARCHAR (20),
CalendarMonthNumber SMALLINT,
CalendarDateNumber SMALLINT,
CalendarYearNumber SMALLINT,
CalendarQuarterNumber CHAR(1),
CalendarWeek SMALLINT,
CalendarWeekdayNumber Char(1),
CalendarWeekday VARCHAR (20),
CalendarWeekNumber SMALLINT,
CalendarHalf CHAR(1)
);
INSERT INTO dim_date (CalendarDate)
VALUES ('2018-07-26'),
('2017-05-02'),
('2015-09-10'),
('2017-04-23');
CREATE TRIGGER trg_date ON dim_date
FOR INSERT
AS
UPDATE dim_date
SET CalendarYear = (SELECT YEAR(CalendarDate) FROM INSERTED)
WHERE -- not sure how to proceed from here
GO
【问题讨论】:
标签: sql-server triggers