oracle用户,游标,储存过程,触发器,函数总结

来源:互联网 发布:武易传奇物品数据库 编辑:程序博客网 时间:2024/06/06 13:20

作为一个大三的学生,刚刚学完oracle,想对所学内容做个总结,仅供大家参考,有不到之处,还望大家请教。


oracle游标

游标:在我看来就是一个查询数据的集合(个人观点)

游标的基本格式:

cursor  游标名 is  select语句;

游标使用步骤:

①:声明游标,如上

②:第二步以前老师说是打开游标,我觉得应该是

a 游标名%rowtype 这样后面我们能用fetch去

访问数据

③打开游标 open 游标名

④遍历游标 fetch 游标名 into a 

⑤关闭游标close 游标名

游标不管官方怎么解释,大家理解成一个查询的集合就好了


--------------------------无敌分割线-------------------------------------------

储存过程:在我看来就好像一个函数,我们传一个值进去,经过一些处理过程,我们得到相对应的数据,但是没有返回值,这点很重要,储存过程没有返回值,但是函数有返回值,我认为这就是储存过程和函数本质的区别!


储存过程格式:


 这里我就直接粘贴一个例子供大家参考,格式相信有基础的大神们都不需要我去写。

运行储存过程:exec procedure_name(<参数1,.....>);


-----------------------------万能分割线----------------------------------------

函数:和储存过程很相似,但就是必须要有返回值


函数举个栗子就行了,传递参数进去,处理完再return 返回一个值

运行函数:select function_name(<参数1,...>) from dual;

//dual是一个虚拟表,大家记住查询函数from的就是dual就行


--------------------------好好玩的分割线-------------------------------------

用户,我们来学习创建用户,授予权限等操作,因为懒的打字就截图自己的笔记,大家淡定



/*要理解用户,我们先了解一下角色,我们知道每一个用户都有自己的权限,比如sys权限很高,scott权限就没有sys高,这就是他们所拥有的权限的不同,比如我们新建一个用户,他是没办法连接数据库的,我们只有通过grant connect to lisi;给他授予连接数据库的权限才可以,但是我们如果一条一条的给用户授权,就会很繁琐,所以我们就设置了角色,他是若干条权限的集合,你需要怎样的权限,直接用角色授权就很准确,很迅速

角色:若干条权限的集合对象

*/


-----------------------------------萌萌哒分割线-------------------------------

触发器:在很多时候我们不止创建一个表,而且每个表都相关联,这个时候如果你想改一个数据,有时候他会提示错误:违反外键约束。也就是说这个表的数据其他表也引用了,要改这个表其他表也必须改,所以触发器就理所当然的诞生了!


语法:



例子:


/*就是我们在运行更新语句的时候,触发器连带它的外键也一起修改了,这样就不会报违反外键约束的错误,当然你要想多写几条语句也是可以的*/


.这是我第一次写这种文章,不到之处还望大家见谅,希望和大家一起进步,学习






阅读全文
0 0
原创粉丝点击