我想按照以下步骤在SQL Server 2012中创建一个触发器:
在名为jandata
(febdata
)的表格中更改janarea
,febarea
,project
或pkid,prjid,jandata,febdata,janarea,febarea
列时p>
然后我需要执行某些我可以执行的计算,然后将新数据存储在临时表中
如果itemid存在,我需要签入items表,然后我需要更新表中的列值,否则我需要插入值
所以现在我仍然坚持第一步如何创建触发器并在临时表中插入值
我使用了这段代码
CREATE TRIGGER sysgenitemsvalue
UPDATE ON project
BEGIN
create table #temp
(
pkid int,
JANORG int,
FEBORG int,
ORGID int,
PROJID int,
BUDGETYEAR int
)
INSERT INTO #temp(pkid, JANORG, FEBORG, ORGID, PROJID, BUDGETYEAR)
SELECT
v.pkid,
CASE
WHEN v.JANORG <> '0' THEN v.JANORG
WHEN v.JANAREA <> '0' THEN v.JANAREA
ELSE p.JANORG
END "JANORG",
CASE
WHEN v.FEBORG <> '0' THEN v.FEBORG
WHEN v.FEBAREA <> '0' THEN v.FEBAREA
ELSE p.FEBORG
END "FEBORG",
o.org_id, o.pt_id, o.budgetyear
FROM
project v, proj p, org o
WHERE
o.pkid = v.orgpt_id
AND o.pt_id = p.projid
AND p.orgid = o.org_id
AND p.budgetyear = o.budgetyear