程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> sql server-數據庫觸發器問題,為什麼觸發器會出現錯誤

sql server-數據庫觸發器問題,為什麼觸發器會出現錯誤

編輯:編程綜合問答
數據庫觸發器問題,為什麼觸發器會出現錯誤

create trigger 月工資變動
after update on 考勤
referencing
oldrow as oldtuple,
newrow as newtuple
for each row
begin
if(oldtuple.一月份缺勤扣薪 != newtuple.一月份缺勤扣薪)
then
update 員工月工資 set 一月份工資=一月份工資-newtuple.一月份扣薪+oldtuple.一月份扣薪
where oldtuple.員工編號=員工月工資.員工編號;
end if;
end;

這是一個關於工資管理數據庫的觸發器,考勤是一個表,當考勤表中一月份缺勤扣薪改動時,員工工資表中對應的一月份工資變化,在SQL server中出現錯誤,請問錯誤在哪?

最佳回答:


你這寫法是oracle的吧

 create TRIGGER 月工資變動
 on 考勤
after update
as
begin
declare @oldName varchar(20), @newName varchar(20),@ygbh varchar(20);
select @oldName = 一月份缺勤扣薪,@ygbh=員工編號 from deleted;
select @newName = 一月份缺勤扣薪 from inserted;
if(@oldName != @newName)
begin 
    update 員工月工資 set 一月份工資=一月份工資-@newName+@oldName
    where 員工月工資.員工編號=@ygbh;
end;
end;
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved