亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL 5.0觸發(fā)器參考教程第1/4頁

 更新時間:2008年09月10日 09:20:36   作者:  
需要學習mysql觸發(fā)器的朋友需要了解的東西,整理的比較多,建議大家慢慢多練習
Conventions and Styles約定和編程風格
  每次我想要演示實際代碼時,我會對mysql客戶端的屏幕就出現(xiàn)的代碼進行調(diào)整,將字體改成Courier,使他們看起來與普通文本不一樣(讓大家區(qū)別程序代碼和正文)。在這里舉個例子:

mysql> DROP FUNCTION f;
Query OK, 0 rows affected (0.00 sec)
  如果實例比較大,則需要在某些行和段落間加注釋,同時我會用將"<--"符號放在頁面的右邊以表示強調(diào)。例如:

mysql> CREATE PROCEDURE p ()
-> BEGIN
-> /* This procedure does nothing */ <--
-> END;//
Query OK, 0 rows affected (0.00 sec)
  有時候我會將例子中的"mysql>"和"->"這些系統(tǒng)顯示去掉,你可以直接將代碼復制到mysql客戶端程序中(如果你現(xiàn)在所讀的不是電子版的,可以在mysql.com網(wǎng)站下載相關腳本)

  所以的例子都已經(jīng)在Suse 9.2 Linux、Mysql 5.0.3公共版上測試通過。在您閱讀本書的時候,Mysql已經(jīng)有更高的版本,同時能支持更多OS了,包括Windows,Sparc,HP-UX。因此這里的例子將能正常的運行在您的電腦上。但如果運行仍然出現(xiàn)故障,可以咨詢你認識的資深Mysql用戶,這樣就能得到比較好的支持和幫助。

  Why Triggers 為什么要用觸發(fā)器

  我們在MySQL 5.0中包含對觸發(fā)器的支持是由于以下原因:

  MySQL早期版本的用戶長期有需要觸發(fā)器的要求。

  我們曾經(jīng)許諾支持所有ANSI標準的特性。

  您可以使用它來檢查或預防壞的數(shù)據(jù)進入數(shù)據(jù)庫。

  您可以改變或者取消INSERT, UPDATE以及DELETE語句。

  您可以在一個會話中監(jiān)視數(shù)據(jù)改變的動作。


  在這里我假定大家都讀過"MySQL新特性"叢書的第一集--"MySQL存儲過程",那么大家都應該知道MySQL至此存儲過程和函數(shù),那是很重要的知識,因為在觸發(fā)器中你可以使用在函數(shù)中使用的語句。特別舉個例子:

  復合語句(BEGIN / END)是合法的.

  流控制(Flow-of-control)語句(IF, CASE, WHILE, LOOP, WHILE, REPEAT, LEAVE,ITERATE)也是合法的.

  變量聲明(DECLARE)以及指派(SET)是合法的.

  允許條件聲明.

  異常處理聲明也是允許的.

  但是在這里要記住函數(shù)有受限條件:不能在函數(shù)中訪問表.因此在函數(shù)中使用以下語句是非法的。

ALTER 'CACHE INDEX' CALL COMMIT CREATE DELETE
  DROP 'FLUSH PRIVILEGES' GRANT INSERT KILL
  LOCK OPTIMIZE REPAIR REPLACE REVOKE
  ROLLBACK SAVEPOINT 'SELECT FROM table'
  'SET system variable' 'SET TRANSACTION'
  SHOW 'START TRANSACTION' TRUNCATE UPDATE
  在觸發(fā)器中也有完全一樣的限制.

  觸發(fā)器相對而言比較新,因此會有(bugs)缺陷.所以我在這里給大家警告,就像我在存儲過程書中所說那樣.不要在含有重要數(shù)據(jù)的數(shù)據(jù)庫中使用這個觸發(fā)器,如果需要的話在一些以測試為目的的數(shù)據(jù)庫上使用,同時在你對表創(chuàng)建觸發(fā)器時確認這些數(shù)據(jù)庫是默認的。

相關文章

  • MySQL找出未提交事務信息的方法分享

    MySQL找出未提交事務信息的方法分享

    這篇文章主要給大家介紹了關于MySQL如何找出未提交事務信息的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用MySQL具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06
  • SQL-?join多表關聯(lián)問題

    SQL-?join多表關聯(lián)問題

    這篇文章主要介紹了SQL-?join多表關聯(lián)問題,具有很好的參考價值,希望對大家有所幫助。
    2022-12-12
  • 超詳細MySQL使用規(guī)范分享

    超詳細MySQL使用規(guī)范分享

    這篇文章主要介紹了MySQL使用規(guī)范,幫助大家更規(guī)范的操作MySQL,感興趣的朋友可以了解下
    2020-08-08
  • MySQL禁用InnoDB引擎的方法

    MySQL禁用InnoDB引擎的方法

    這篇文章主要介紹了MySQL禁用InnoDB引擎的方法,針對的Mysql版本是5.5和5.6,使用了兩種不同的配置文件,需要的朋友可以參考下
    2014-05-05
  • MySQL 觸發(fā)器的基礎操作(六)

    MySQL 觸發(fā)器的基礎操作(六)

    這篇文章主要為大家詳細介紹了MySQL 觸發(fā)器的基礎操作,告訴大家什么是MySQL觸發(fā)器,如何查看觸發(fā)器,感興趣的小伙伴們可以參考一下
    2016-08-08
  • MySQL為什么要避免大事務以及大事務解決的方法

    MySQL為什么要避免大事務以及大事務解決的方法

    這篇文章主要介紹了MySQL為什么要避免大事務以及大事務解決的方法,幫助大家更好的理解和學習MySQL,感興趣的朋友可以了解下
    2020-08-08
  • 淺談mysql導出表數(shù)據(jù)到excel關于datetime的格式問題

    淺談mysql導出表數(shù)據(jù)到excel關于datetime的格式問題

    這篇文章主要介紹了淺談mysql導出表數(shù)據(jù)到excel關于datetime的格式問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 設置MySQLroot賬戶密碼報錯ERROR 1064 (42000): You have an error in your SQL syntax;的解決方案

    設置MySQLroot賬戶密碼報錯ERROR 1064 (42000): You 

    在安裝mysql的時候,設置root賬戶密碼出現(xiàn)了ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds..錯誤,本文小編給大家介紹了相關的解決方案,需要的朋友可以參考下
    2023-12-12
  • SQL結(jié)果如何根據(jù)某個字段取最新時間去重

    SQL結(jié)果如何根據(jù)某個字段取最新時間去重

    在日常的項目開發(fā)當中,經(jīng)常會遇到獲取同一屬性相同的記錄,如何獲取記錄時間最新的那一條,下面這篇文章主要給大家介紹了關于SQL結(jié)果如何根據(jù)某個字段取最新時間去重的相關資料,需要的朋友可以參考下
    2023-06-06
  • MySQL?SQL性能分析之慢查詢?nèi)罩?、explain使用詳解

    MySQL?SQL性能分析之慢查詢?nèi)罩?、explain使用詳解

    這篇文章主要介紹了MySQL?SQL性能分析?慢查詢?nèi)罩?、explain使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04

最新評論