中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 數據庫 > 
  • mysql的存儲過程和觸發器的使用 以及php中的調用方法

mysql的存儲過程和觸發器的使用 以及php中的調用方法

發布時間:2020-07-27 20:51:15 來源:網絡 閱讀:739 作者:wangchunyi123 欄目:數據庫

      存儲過程顧名思義,相當于一組為了完成特定功能的sql語句集,經編譯后存儲在數據庫中。用戶通過指定存儲過程的名字并給出參數(如果該存儲過程帶有參數)來執行它。存儲過程是數據庫中的一個重要對象,任何一個設計良好的數據庫應用程序都應該用到存儲過程。

       存儲過程的書寫格式:
  CREATE PROCEDURE [
擁有者.]存儲過程名[;程序編號]
  [(
參數#1,…參數#1024)]
  [WITH
  {RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION}
  ]
  [FOR REPLICATION]
  AS 
程序行

        其中存儲過程名不能超過128個字。每個存儲過程中最多設定1024個參數
  (SQL Server 7.0
以上版本),參數的使用方法如下:
  @
參數名數據類型 [VARYING] [=內定值] [OUTPUT]
  
每個參數名前要有一個“@”符號,每一個存儲過程的參數僅為該程序內部使用,參數的類型除了IMAGE外,其他SQL Server所支持的數據類型都可使用。

   output:表示此參數是可傳回的
  with {recompile|encryption}
  recompile:
表示每次執行此存儲過程時都重新編譯一次
  encryption:
所創建的存儲過程的內容會被加密


      使用存儲過程有以下的優點:
  * 
存儲過程的能力大大增強了SQL語言的功能和靈活性。存儲過程可以用流控制語句編寫,有很強的靈活性,可以完成復雜的判斷和較復雜的運算。
  * 
可保證數據的安全性和完整性。
  # 
通過存儲過程可以使沒有權限的用戶在控制之下間接地存取數據庫,從而保證數據的安全。
  # 
通過存儲過程可以使相關的動作在一起發生,從而可以維護數據庫的完整性。
  * 
再運行存儲過程前,數據庫已對其進行了語法和句法分析,并給出了優化執行方案。這種已經編譯好的過程可極大地改善SQL語句的性能。由于執行SQL語句的大部分工作已經完成,所以存儲過程能以極快的速度執行。
  * 
可以降低網絡的通信量。
  * 
使體現企業規則的運算程序放入數據庫服務器中,以便:
  # 
集中控制。
  # 
當 企業規則發生變化時在服務器中改變存儲過程即可,無須修改任何應用程序。企業規則的特點是要經常變化,如果把體現企業規則的運算程序放入應用程序中,則當 企業規則發生變化時,就需要修改應用程序工作量非常之大(修改、發行和安裝應用程序)。如果把體現企業規則的運算放入存儲過程中,則當企業規則發生變化 時,只要修改存儲過程就可以了,應用程序無須任何變化。

php操作方法

     mysql_query("call 存儲過程名稱")

觸發器

     是mysql內部進行執行的,觸發器是與表有關的命名數據庫對象,當表上出現特定事件時,將激活該對象。例如當我們向某表插入一行數據時發生一個事件或者刪除某個記錄時觸發某個事件。

語法:
    CREATE TRIGGER trigger_Name trigger_time trigger_event
       ON tbl_Name FOR EACHROW trigger_stmt
    trigger_time 是觸發器的動作時間。它可以是 BEFORE 或 AFTER ,以指明觸發器是在激活它的
語句之前或之后觸發。
    trigger_event 指明了激活觸發器的語句的類型。trigger_event        可以是下述值之一:
    INSERT:將新行插入表時激活觸發器,例如,通過 INSERT、LOADDATA 和 REPLACE 語句;
    UPDATE:更改某一行時激活觸發器,例如,通過UPDATE語句;
    DELETE:從表中刪除某一行時激活觸發器,例如,通過 DELETE 和 REPLACE 語句。

                

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

衡山县| 宁化县| 阳西县| 廊坊市| 广河县| 靖安县| 湘潭市| 石景山区| 巴林左旗| 凤阳县| 奉贤区| 南平市| 扎鲁特旗| 嘉善县| 武清区| 金华市| 营山县| 茶陵县| 宁武县| 马龙县| 普宁市| 霍林郭勒市| 胶南市| 莱阳市| 阿尔山市| 元江| 虞城县| 交口县| 麻阳| 丹凤县| 古蔺县| 赤峰市| 板桥市| 内黄县| 沽源县| 涟源市| 溆浦县| 宁晋县| 长宁县| 龙江县| 湖南省|