●SQL编程
  declare @avg decimal(18,2)
  set @avg=(select AVG(Price) from Car)
  print '所有汽車的平均價格是:'+cast(@avg as varchar(20))
  declare @find varchar(20) ? ?--聲明變量
  set @find='寶馬' ? ?--變量賦值
  if(@find='寶馬') ? ?--判斷
  begin
     print '寶馬汽車' ? ?--顯示結果如下第二圖
     select * from Car where Name like '%'+(@find)+'%'
  end
  else
  begin
     print '其他'
     select * from Car
  end
  create procedure UP_Fruit_Buy ? ?--為方便查看,創建存儲過程名寫為(用戶_表_對表的操作)
     @username varchar(50), ? ?--定義形參
     @fruitname varchar(50),
     @buycount int = 0
  as
  begin
    ……
  end
?當涉及到修改數據時,用begin tran …… rollback,便于操作失誤時,恢復數據
?
觸發器
觸發器是一種特殊的存儲過程。
觸發器主要是通過事件進行觸發而被執行的,而存儲過程可以通過存儲過程名字而被直接調用觸發器的主要作用就是其能夠實現由主鍵和外鍵所不能保證的復雜的參照完整性和數據的一致性,另外還有強化約束和級聯運行的功能。
?
inserted,deleted臨時表
這兩個表是由系統管理的,存儲在內存中,不是存儲在數據庫中,因此不允許用戶直接對其修改,是只讀的。
這兩個表的結構總是與被該觸發器作用的表有相同的表結構。
這兩個表是動態駐留在內存中的,當觸發器工作完成,這兩個表也被刪除。
這兩個表主要保存因用戶操作而被影響到的原數據值或新數據值。
?
更新操作包括兩個部分,在deleted中存放了舊值,然后在inserted中存放新值。
插入操作,在inserted中存放新值。
刪除操作,在deleted中存放舊值。
?
種類:after觸發器、instead of觸發器
兩種觸發器的區別:after觸發器是觸發條件執行完以后,才執行觸發器;instead of觸發器是不再執行觸發條件,直接執行觸發器。
?
CREATE TRIGGER trigger_name ON { table | view } [ WITH ENCRYPTION ] {{ { FOR | AFTER | INSTEAD OF } { [ DELETE ] [ , ] [ INSERT ] [ , ] [ UPDATE ] } [ WITH APPEND ][ NOT FOR REPLICATION ] AS sql_statement [ ...n ] } 例: create trigger TR_Student_Delete on student ? ?--創建對于表student的觸發器 for delete ? ?--觸發條件 as …… ? ?--執行過程 go轉載于:https://www.cnblogs.com/phantom-k/p/3967411.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
 
                            
                        - 上一篇: vmware的硬件选项里有关于虚拟化引擎
- 下一篇: Ubuntu18.0.4查看显示器型号
