1 创建序列
create sequence bookid --创建序列,名为bookid
start with 1 --从1开始
increment by 1 --每次增加1
maxvalue 999999999999 --最大值为999999999999
nocache --是否预先在内存中放置一组值, 对应也可设置为 cache n ,n为一个正整数值
nocycle; --数值不可循环使用
2 查看序列的当前值和下一值
select bookid.currval from dual;
select bookid.nextval from dual;
3 Oracle数据库中函数有两种,数据库自身的函数和用户自己写的函数
①数据库自身的函数
如upper() 将字符串转换为大写
round() 四舍五入函数
②用户自己写的函数
4 创建自定义函数
例:创建一个通过员工的id号获取其薪水的函数
create or replace function get_empsal(emp_no in number) ---创建或替换function,输入参数为number类型的emp_no
return number --该函数返回一个数值类型的值
is emp_sal number(7,2) ; --定义参数emp_sal,类型为number(7,2)
begin --函数的程序段开始
select sal
into emp_sal
from emp
where empno=emp_no; --查询出相应的值放入emp_sal
return(emp_sal); --返回emp_sal
end; --函数体结束
5 测试创建的函数
在pl/sql developer中打开左侧Functions目录,右键点击get_empsal函数,选择“测试”,
在下图所示的界面emp_no所对应的“值”下面输入员工ID号,
然后单击“执行”按钮,
可看到该员工的薪水显示在“result”对应的“值”列中;
6 调用刚创建的函数
select get_empsal(7566) from dual; --7566为员工号