作为一个大三的学生,刚刚学完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;给他授予连接数据库的权限才可以,但是我们如果一条一条的给用户授权,就会很繁琐,所以我们就设置了角色,他是若干条权限的集合,你需要怎样的权限,直接用角色授权就很准确,很迅速
角色:若干条权限的集合对象
*/
-----------------------------------萌萌哒分割线-------------------------------
触发器:在很多时候我们不止创建一个表,而且每个表都相关联,这个时候如果你想改一个数据,有时候他会提示错误:违反外键约束。也就是说这个表的数据其他表也引用了,要改这个表其他表也必须改,所以触发器就理所当然的诞生了!
语法:
例子:
/*就是我们在运行更新语句的时候,触发器连带它的外键也一起修改了,这样就不会报违反外键约束的错误,当然你要想多写几条语句也是可以的*/
.这是我第一次写这种文章,不到之处还望大家见谅,希望和大家一起进步,学习