数据库-Oracle序列、存储过程/函数、触发器

0 前言

       Oracle是一种流行的关系型数据库管理系统,它具有高性能、高可用、高安全等特点。Oracle可以用于存储和管理各种类型的数据,例如文本、数字、日期、图片等。Oracle支持多种操作系统和编程语言,可以与各种应用程序进行交互。

Oracle中包括了序列、存储过程/函数、触发器等内容,它们是进行数据管理和处理的高级技术。序列是指一种用于生成唯一的数值的对象,它可以实现数据的自增和自减,例如生成主键、订单号等。存储过程/函数是指一种用于封装和执行一组SQL语句的对象,它可以实现数据的批量操作和复用,例如验证数据、计算结果等。触发器是指一种用于在特定事件发生时自动执行一组SQL语句的对象,它可以实现数据的约束和完整性,例如记录日志、同步数据等。

本文将介绍数据库中Oracle序列、存储过程/函数、触发器的介绍,包括了它们的概念、特点、语法和示例,希望能够对读者有所帮助。

1 序列

--创建序列
create sequence seq_test;
--启动序列
select seq_test.nextval from dual;
--创建表
create table t_test(
  id number,
  name varchar2(255)
);
--插入数据
insert into t_test values(seq_test.nextval,'zs');
--查看表
select * from t_test;

2 存储过程

--步骤1:准备物料
create table emp_copy as select * from scott.emp;
--步骤2:创建存储过程
  --两个参数:员工编号(vempno)涨多少(vnum)
create procedure pro_updatesal(vempno number,vnum number)
is     
  vsal number;
begin  
  select sal into vsal from emp_copy where empno = vempno;
  dbms_output.put_line('涨薪前工资:'||vsal);
  update emp_copy set sal = vsal+vnum where empno = vempno;
  dbms_output.put_line('涨薪后工资:'||(vsal+vnum));
  commit;
end;
--调用存储过程
  --第一种
call pro_updatesal(7654,10);
  --第二种
declare
begin
  pro_updatesal(7654,10);
end;
--删除存储过程
drop procedure pro_updatesal

3 存储函数

--创建存储函数
create function func_all44(vempno number) return number --存储函数带有返回值
is
  vatotal number;
begin
  select sal*12 + nvl(comm,0) into vatotal from emp_copy where empno = vempno;
  return vatotal;
end;
--调用存储函数
declare
  vatotal number;
begin
  vatotal := func_all44(7782); --赋值
  dbms_output.put_line(vatotal);
end;
--删除存储函数
drop function func_all44;

4 触发器

--创建触发器
create trigger tri_test
after
insert
on emp_copy
declare
begin
  dbms_output.put_line('添加了一条数据');
end;
--触发触发器
insert into emp_copy(ename) values('zs');
--删除触发器
drop trigger tri_test;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值