mysql触发器和存储过程_MySql的存储过程和触发器
创建存储过程(procedure)时,因为其内
Mysql的存储过程是类似于其它编程语言中的函数的功能,存储过程内部可以使用顺序循环和转移三种基本程序结构,而且整个存储过程可以接受和返回参数。 创建存储过程(procedure)时,因为其内部有以;结尾的sql语句,所以我们要更改语句结束符,使用delimiter//来更改结束符为//。然后就可以定义了,eg create procedure name() begin declare a int(10); set a = 1; while a if a%2 = 1 then set a = a+1; insert into users values (null,a,’’,’’); else set a=a+1; end if; end while; end // 调用时直接使用call name()来就可以,注意要带()。 显示创建过程用show create procedure name 显示所有存储过程用show procedure status 删除存储过程用drop procedure name 存储过程内可以使用字符串,时间和数学函数。同时可以在参数列表中定义传入和传出的参数,定义输出参数out a int,在存储过程内部给这个变量@a赋值,显示时用select @a。 Mysql的触发器相当于内部处理的一些过程,他不带入和带出任何的参数,其内部使用的参数就是新旧两条记录old和new的字段。用于完成数据表之间的触发操作,来保证数据库的一致性、完整性。 定义触发器的规程: create trigger name after|before delete|update|insert on table_name for each row begin end当有多个语句的时候就用begin和end,不可以有多个相同时间点的相同类型操作。Eg Create trigger name before update on users For each row Begin If new.admin = 1 then Set new.admin =1; Else Set new.admin =0; End if; End 调用触发器,当在表上出现制定的操作时mysql触发器,执行相应的触发器。 删除触发器drop trigger name 用途举例:同步插入数据至不同类型的表,同步删除关联数据。 (编辑:武汉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |