亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

需求描述:有以下兩個表

需求描述:有以下兩個表

catspeake 2022-09-17 15:11:39
Sql代碼  TableA(  id,  type,--類型  plandate--計劃時間,varchar(10)  )    TableB(  Fid,--外鍵,和TableA中的ID關聯  realdate--實際日期,varchar(10)  )  TableA的記錄會和TableB中的記錄一一對應。當TableB中的字段realdate發生改變時(insert的時候不算),判斷realdate的值是否小于TableA中plandate的的值,如果小于,執行觸發器,將TableA中的type賦值“10”;如果不小于,則不執行觸發器。請教一下如何寫這個語句,剛學習觸發器,希望能回復完整的sql,謝謝!問題補充:自己學著寫了一個,測試沒發現什么問題--創建觸發器Create  Trigger t_TableB_bykmd      On TableB      for Update    As      if Update(realdate)      begin                   if(select COUNT(*) from TableB a, TableA b,inserted cwhere a.realdate>b.plandate  and a.fid=b.idand a.fid=c.fid)=1begin  Update br  Set br.type='10'          From TableA br , Inserted ins          Where br.id=ins.fidend  end
查看完整描述

2 回答

?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

create or replace trigger trigger_temp after update
on TableB
as
begin
DECLARE @realdate_old date,@realdate _new date
   SELECT @realdate_old=realdate  from deleted ----獲取修改前的
   SELECT @realdate_new =realdate  FROM inserted
if(:@realdate_new< @realdate _old) then
    begin
    update TableA a set a.type = 10 where a.id = @realdate_new;
    end;
end if;
end trigger_temp;

查看完整回答
反對 回復 2022-09-21
?
九州編程

TA貢獻1785條經驗 獲得超4個贊

create or replace trigger trigger_temp after update
on TableB
FOR EACH ROW
begin
if(:new.realdate < old.realdate ) then
    begin
    update TableA a set a.type = 10 where a.id = :new.Fid;
    end;
end if;
end trigger_temp;

查看完整回答
反對 回復 2022-09-21
  • 2 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號