<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經(jīng)轉移至github,大家請訪問 http://qaseven.github.io/

    數(shù)據(jù)庫中的事務、存儲過程和觸發(fā)器的簡單使用

     什么是事務(Transaction)
      指訪問并可能更新數(shù)據(jù)庫中各種數(shù)據(jù)項的一個程序執(zhí)行單元(unit)--也就是由多個sql語句組成,必須作為一個整體執(zhí)行
      這些sql語句作為一個整體一起向系統(tǒng)提交,要么都執(zhí)行、要么都不執(zhí)行
      語法步驟:
      開始事務:BEGIN TRANSACTION
      事務提交:COMMIT TRANSACTION
      事務回滾:ROLLBACK TRANSACTION
      判斷某條語句執(zhí)行是否出錯:
      全局變量@@ERROR;
      @@ERROR只能判斷當前一條T-SQL語句執(zhí)行是否有錯,為了判斷事務中所有T-SQL語句是否有錯,我們需要對錯誤進行累計;
      例:SET @errorSum=@errorSum+@@error
      存儲過程---就像數(shù)據(jù)庫中運行方法(函數(shù))
      和C#里的方法一樣,由存儲過程名/存儲過程參數(shù)組成/可以有返回結果。
      前面學的if else/while/變量 等,都可以在存儲過程中使用
      優(yōu)點:
      執(zhí)行速度更快
      允許模塊化程序設計
      提高系統(tǒng)安全性
      減少網(wǎng)絡流通量
      系統(tǒng)存儲過程
      由系統(tǒng)定義,存放在master數(shù)據(jù)庫中
      名稱以“sp_”開頭或”xp_”開頭
      自定義存儲過程
      由用戶在自己的數(shù)據(jù)庫中創(chuàng)建的存儲過程
      系統(tǒng)存儲過程
      說明
      sp_databases
      列出服務器上的所有數(shù)據(jù)庫。
      sp_helpdb
      報告有關指定數(shù)據(jù)庫或所有數(shù)據(jù)庫的信息
      sp_renamedb
      更改數(shù)據(jù)庫的名稱
      sp_tables
      返回當前環(huán)境下可查詢的對象的列表
      sp_columns
      回某個表列的信息
      sp_help
      查看某個表的所有信息
      sp_helpconstraint
      查看某個表的約束
      sp_helpindex
      查看某個表的索引
      sp_stored_procedures
      列出當前環(huán)境中的所有存儲過程。  sp_password
      添加或修改登錄帳戶的密碼。
      sp_helptext
      顯示默認值、未加密的存儲過程、用戶定義的存儲過程、觸發(fā)器或視圖的實際文本。
      定義存儲過程的語法
      CREATE  PROC[EDURE]  存儲過程名
      @參數(shù)   數(shù)據(jù)類型 = 默認值 OUTPUT,
      @參數(shù)n  數(shù)據(jù)類型 = 默認值 OUTPUT
      AS
      SQL語句
      參數(shù)說明:
      參數(shù)可選
      參數(shù)分為輸入?yún)?shù)、輸出參數(shù)
      輸入?yún)?shù)允許有默認值
      EXEC  過程名  [參數(shù)]
      觸發(fā)器是一種特殊類型的存儲過程,它不同于前面介紹過的一般的存儲過程。
      一般的存儲過程通過存儲過程名稱被直接調用,而觸發(fā)器主要是通過事件進行觸發(fā)而被執(zhí)行。
      觸發(fā)器是一個功能強大的工具,在表中數(shù)據(jù)發(fā)生變化時自動強制執(zhí)行。觸發(fā)器可以用于SQL Server約束、默認值和規(guī)則的完整性檢查,還可以完成難以用普通約束實現(xiàn)的復雜功能。
      那究竟何為觸發(fā)器?在SQL Server里面也就是對某一個表的一定的操作,觸發(fā)某種條件,從而執(zhí)行的一段程序。觸發(fā)器是一個特殊的存儲過程。
      常見的觸發(fā)器有三種:分別應用于Insert , Update , Delete 事件
      常用語法
    CREATE TRIGGER triggerName ON Table
    for UPDATE|INSERT|DELETE
    AS
    begin
    end
      觸發(fā)器-更新
    CREATE TRIGGER testForFun ON dbo.Category
    for UPDATE
    AS
    begin
    select * from book
    end
    update Category set c_name = 'Android2' where c_id=3
      觸發(fā)器-刪除
    CREATE TRIGGER testForDel ON dbo.Category
    for delete
    AS
    begin
    select * from book
    end
    delete Category set c_name = 'Android2' where c_id=3

    posted on 2014-03-27 17:06 順其自然EVO 閱讀(471) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫

    <2014年3月>
    2324252627281
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    導航

    統(tǒng)計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 99久久99这里只有免费费精品| 一级视频免费观看| 114级毛片免费观看| 亚洲偷自拍拍综合网| 老司机午夜精品视频在线观看免费| 免费h片在线观看网址最新| 毛片基地免费视频a| 亚洲一区二区三区偷拍女厕 | 2020因为爱你带字幕免费观看全集 | 亚洲精品色在线网站| 国产又黄又爽又猛的免费视频播放 | 亚洲成年网站在线观看| www成人免费观看网站| 亚洲国产精品自产在线播放| 日韩一级片免费观看| 永久免费的网站在线观看| 亚洲日韩av无码| 久久精品成人免费看| 亚洲最大免费视频网| 无码人妻一区二区三区免费手机| 国产精品高清视亚洲精品| 免费看AV毛片一区二区三区| 亚洲成av人片在线天堂无| 亚洲av无码国产精品色在线看不卡 | 一级毛片不卡片免费观看| 亚洲欧洲日产v特级毛片| 成人免费无遮挡无码黄漫视频| 在线观看亚洲免费视频| 国产亚洲美女精品久久久2020| 亚洲熟妇无码八V在线播放| 国产18禁黄网站免费观看| 成人自慰女黄网站免费大全| 日日操夜夜操免费视频| 国产亚洲精品美女久久久久| 久久亚洲色一区二区三区| 人妻仑乱A级毛片免费看| 亚洲av无码乱码国产精品 | 国产大片91精品免费观看男同 | eeuss影院免费92242部| 一本一道dvd在线观看免费视频| 亚洲色图综合在线|