1 / 6
文档名称:

黑马程序员:java面试题之数据库存储过程与触发器.doc

格式:doc   大小:146KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

黑马程序员:java面试题之数据库存储过程与触发器.doc

上传人:287865472 2018/8/21 文件大小:146 KB

下载得到文件列表

黑马程序员:java面试题之数据库存储过程与触发器.doc

相关文档

文档介绍

文档介绍:这个问题非常考验个人能力水平和自我积累!这样的问题拿高薪必看哦!
create procedure insert_Student (_name varchar(50),_age int ,out _id int)
begin
insert into student value(null,_name,_age);
select max(stuId) into _id from student;
end;
call insert_Student('wfz',23,***@id);
select ***@id;
mysql> create trigger update_Student BEFORE update on student FOR EACH ROW
-> select * from student;
复制代码
触发器不允许返回结果

create trigger update_Student BEFORE update on student FOR EACH ROW
insert into student value(null,'zxx',28);
复制代码
mysql的触发器目前不能对当前表进行操作

create trigger update_Student BEFORE update on student FOR EACH ROW
delete from articles where id=8;
复制代码
这个例子不是很好,最好是用删除一个用户时,顺带删除该用户的所有帖子

触发器用处还是很多的,比如校内网、开心网、Facebook,你发一个日志,自动通知好友,其实就是在增加日志时做一个后触发,再向通知表中写入条目。因为触发器效率高。而UCH没有用触发器,效率和数据处理能力都很低。
存储过程的实验步骤:

mysql> delimiter |
mysql> create procedure insertArticle_Procedure (pTitle varchar(50),pBid int,out
pId int)
-> begin
-> insert into article1 value(null,pTitle,pBid);
-> select max(id) into pId from article1;
-> end;
-> |
Query OK, 0 rows affected ( sec)
mysql> call insertArticle_Procedure('传智播客',1,***@pid);
-> |
Query OK, 0 rows affected ( sec)
mysql> delimiter ;
mysql> select ***@pid;
复制代码
+------+
| ***@pid |
+------+
| 3 |
+------+
1 row in set ( sec)
mysql> select * from article1;
+----+--------------+------+
| id | tit