PL SQL对象,视图,序列,索引,同义词,触发器,存储过程(函数),存储函数_plsql怎么设置同义词触发器

权限:

Sqlplus /  as sysdba; 以管理员身份登录

Show user;  查看当前用户

Grant create view toscott;  授予scott创建视图的权限

查询视图:

select*frommyview;

视图的好处:

1.  提高查询效率

2.  提高安全性

3.  我们可以定制查询结果,取消不必要字段

序列

可以理解为一个计数器。

createsequencemyseque;

select myseque.nextval fromdual;

createtablestudent(

idnumber,

namevarchar2(20)

)

insertintostudent(id,name)values(myseque.nextval,‘zhangsan’);

select*fromstudent;

索引

可以理解为书的页面

创建索引的必须条件:

最好是数值型,里面的值都不同

格式:create index 索引名  on  表名(字段名)

createindexnameindex on student(name);

同义词

格式:create synonym 同义词 for 原词

createsynonymabc for student;

select*fromabc;

同义词也有权限问题:

Sqlplus /  as sysdba; 以管理员身份登录

Show user;  查看当前用户

Grant create synonym to scott;  授予scott创建视图的权限

触发器(trigger)

当某种情形发生的时候,触发器就执行一定plsql语句。

触发器分为行级触发器和语句级触发器

行级触发器:操作表中的每一行语句都会执行。

语句级触发器:每次操作,不管你操作多少行,只执行一次。

格式:create [or replace]trigger 触发器名字

[before|after] 定义触发器执行的时间

<insert |update|delete> 定义触发器执行的事件

On 表名|视图名

[for each row]  行级触发器

Begin

Plsql语句;

End;

在某个表里,每插入一条记录,我们就打印一句helloworld

createorreplacetriggermytrigger

after

insert

On student

foreachrow

Begin

dbms_output.put_line(‘hellowrld’);

End;

非工作日的时候,不能在student表中插入数据

createorreplacetriggeraddrecodeNoRest

beforeinsertOnstudent

foreachrow

Begin

–判断今天是否是工作,如果不是,抛出异常

if(to_char(sysdate,‘DAY’)in(‘星期六’,‘星期日’,‘星期二’))

thenraise_application_error(-20001,‘不能在休息日修改内容’);

endif;

End;

存储过程~~(函数)~~

类似于java的方法

它是按照一定功能,把plsql语句整合在一起,形成代码块。

存储过程的特点是:可以有参数,但是必然有返回值。

格式:create or replace procedure 存储过程名

As

Begin

Plsql语句;

End;

打印HelloWorld

createorreplaceproceduresayHello

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

句;

End;

打印HelloWorld

createorreplaceproceduresayHello

[外链图片转存中…(img-Bmu5155X-1719231903212)]
[外链图片转存中…(img-uQtXJwIZ-1719231903212)]
[外链图片转存中…(img-tZpZuzNd-1719231903213)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值