oracle 函数function语法及简单实例

1546年前oracle数据库5066

函数调用限制
1、SQL语句中只能调用存储函数(服务器端),而不能调用客户端的函数
2、SQL只能调用带有输入参数,不能带有输出,输入输出函数
3、SQL不能使用PL/SQL的特有数据类型(boolean,table,record等)
4、SQL语句中调用的函数不能包含INSERT,UPDATE和DELETE语句

1.function函数的语法:

  create or replace function function_name (  
     argu1 [mode1] datatype1, --定义参数变量mode: in or out 
     argu2 [mode2] datatype2 --定义参数变量  
 ) return datatype --定义返回的数据类型  
is    
begin  
end;

执行:

var v1 varchar2(100)   
exec :v1:=function_name 
或
select  function_name   from dual;

2.不带任何参数的定义

create or replace function get_user   
return varchar2   
is   
Result varchar2(50); --定义变量  
begin   
select username into Result from user_users;   
return(Result); --返回值  
end get_user;

3.带有in参数的

create or replace function GET_POIALL(  
empname in varchar2  
) return number   
is   
Result number;   
begin   
select sal into Result from emp where ename=empname;   
return(Result);   
end;

执行:

SQL> var sal number   
SQL> exec :sal:=get_sal('scott');  
或者
 select  GET_POIALL('0')  from dual;

4.带out参数的

create or replace function get_info(  
e_name varchar2,  
job out varchar2  
) return number   
Is  
Result number;   
begin   
select sal,job into Result,job from emp where ename=e_name;   
return(Result);   
end;

执行:

SQL> var job varchar2(20)   
SQL> var dname varchar2(20)   
SQL> exec :dname:=get_info('SCOTT',:job)


相关文章

oracle job 定时任务 语法

  创建job,使用Submit()过程,工作被正常地计划好。这个过程有五个参数:job、what、next_date、interval与no_parse。PROCEDURE Su...

plsql 中number类型字段 取消科学计数法显示

 PL/SQL DEVELOPER中禁用科学计数法:Tools - Prefrence - SQL Window - 选择:"Number fields to_char&quo...

java.lang.ClassNotFoundException: oracle.jdbc.driver.OralceDriver

 java.lang.ClassNotFoundException: Oracle.jdbc.driver.OracleDriver这个错误;原因可能是 少了驱动 ,少包class...

Oracle sql优化

 一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据...

java 实现自增编号+Oracle序列

原理:a,a++,fillStr(a, 9, false, "0");新建序列:create sequence seq_lineminvalue 1maxvalue 9999999...

PLSQL 11 注册码

注册码:Product Code:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqzserial Number:601769password:xs374ca...

评论列表

广东硅谷学院
2018-06-22 09:42:10

挺实用的,收藏了
学好IT好工作就选硅谷学院,学技能拿文凭事半功倍,紧跟专业教师一起冲浪IT行业。我们有建设学习型专业师资团队,教师领跑学生紧随其后。广东硅谷学院热招2018年高考毕业生,招生热线88989555,QQ:800015777网站:http://www.sve.com.cn

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。