时间:2021-07-01 10:21:17 帮助过:4人阅读
- create <span style="color: #0000ff">function</span> getPingfanghe2(x <span style="color: #0000ff">float</span>, y <span style="color: #0000ff">float</span><span style="color: #000000">)
- returns </span><span style="color: #0000ff">float</span><span style="color: #000000">
- begin
- </span><span style="color: #008000">#</span><span style="color: #008000">此函数体范围内,就是所谓的“编程环境”</span>
- <span style="color: #008000">#</span><span style="color: #008000">此范围就可以使用普通变量,已经各种流程控制结构</span>
- <span style="color: #0000ff">declare</span> result <span style="color: #0000ff">float</span> <span style="color: #0000ff">default</span> 0; <span style="color: #008000">#</span><span style="color: #008000">定义普通变量并设定初值</span>
- set result = x*x + y*<span style="color: #000000">y;
- </span><span style="color: #0000ff">return</span><span style="color: #000000"> result;
- </span><span style="color: #008080">end</span>;
2、创建过程:
//此存储过程意图用于传入两个数据并将该两个数据插入表enum_test中。
- create procedure pro1 (n int, xuanxiang varchar(20<span style="color: #000000">) )
- begin
- insert into enum_test (id</span>, xuanxiang)values(n,<span style="color: #000000"> xuanxiang);
- </span><span style="color: #008080">end</span>;
3、具有out作用的存储过程
- create procedure getXiebian( z1 <span style="color: #0000ff">float</span>, z2 <span style="color: #0000ff">float</span>, out xiebian <span style="color: #0000ff">float</span><span style="color: #000000">)
- begin
- set @pingfanghe </span>= getPingfanghe(z1, z2);<span style="color: #008000">#</span><span style="color: #008000">调用函数去计算平方和</span>
- set xiebian = <span style="color: #008080">pow</span>(@pingfanghe, 0.5<span style="color: #000000">);
- </span><span style="color: #008080">end</span><span style="color: #000000">;
- </span><span style="color: #008000">//</span><span style="color: #008000">该存储过程调用的时候,第3个参数必须是一个变量</span>
4、使用select的存储过程
- <span style="color: #000000">create procedure gettables()
- begin
- select </span>*<span style="color: #000000"> from enum_test;
- select </span>*<span style="color: #000000"> from set_test;
- select </span>*<span style="color: #000000"> from tab5;
- </span><span style="color: #008080">end</span>;
5、定义一个触发器,让该触发器可以在tab5插入数据的时候,
自动将其实不部分数据插入另一个表中以供“外方合作单位”使用。
①tab5的字段为:id, f1, f2, f4, id2;
②要插入的另一个表的字段为:id, f1, f2
- create trigger getSubData after insert on tab5 for each row
- begin
- #set @id = new.id; #new在触发器中是特定关键字,
- #代表“刚刚插入的数据行”,这里代表其中的该行数据的id值
- #set @v1 = new.f1; #新插入数据的f1字段的值
- #set @v2 = new.f2; #新插入数据的f1字段的值
- insert into tab5_sub (f1, f2)values(new.f1,new.f2);
- end;
数据库---创建函数,存储函数,触发器实例
标签:分享图片 sel new data- res values 代码 环境 efault