Oracle学习(4)--序列sequence、函数Function

来源:互联网 发布:mac修图软件哪个好用啊 编辑:程序博客网 时间:2024/05/29 10:58

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为员工号

原创粉丝点击