mysql的存储过程和触发器的使用 以及php中的调用方法
admin
2023-06-06 05:41:19
0

      存储过程顾名思义,相当于一组为了完成特定功能的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 语句。

                

相关内容

热门资讯

美国特勤局:白宫附近枪击案嫌疑... 央视记者当地时间5月23日获悉,美国特勤局表示,当天白宫附近枪击案嫌疑人在医院死亡。美国特勤局表示,...
浙江宣传:年轻干部,不要怕普通 有没有那么一瞬间,你会觉得自己很普通,置身人潮人海中没有任何特别之处?其实,普通既是初入职场的年轻干...
Find My进入第三方时代:... 新闻引入 2026年1月,苹果发布AirTag 2代,精确查找范围提升50%、扬声器音量提升50%,...
精密散热行业的技术跃迁:从“被... 在功率密度持续攀升、热流密度逼近物理极限的行业节点,精密散热已经从一个“辅助性功能模块”演变为决定系...
湖南衡阳发生火灾致5死1伤 5月24日0时45分,衡阳市祁东县上正社区一商铺发生火灾,造成5人死亡,1人受轻微伤,伤者正在积极救...
警惕!澳大利亚密集加码关键矿产... 5月18日,澳大利亚以“国家安全”为由,向北方矿业公司6名与中国有关联的股东发出强制出售令,要求在1...
AI行情狂热,三星电子未成年股... 近段时间,AI行情再次成为全球资本市场主线,但舞台中央的“主角”发生了变化:投资者不再只偏好云厂商和...
俄称乌无人机袭击卢甘斯克一学校... 当地时间5月23日,据俄罗斯紧急情况部通报称,遭乌方袭击的斯塔罗比尔斯克职业学院死亡人数升至21人,...
美加州故障化学品储罐持续升温,... 新华社洛杉矶5月23日电(记者高山 谭晶晶)美国加利福尼亚州南部奥兰治县官员23日说,当地21日开始...
真实感,AI时代写作的生命力所... AI时代,对于许多人来说,因为有了各种智能工具的加持,写作似乎变得容易了。通过提出命题、投喂内容,无...