ORACLE函数以及存储过程学习篇

Oracle 自定义函数

Create function 函数名称 return 返回值类型 as Begin … End 函数名称;

自定义简单的函数:

定义无参数函数
create function bookCount return number as
begin
  declare maxId number;
  begin
    select count(*) into maxId from t_book;
    return maxId;  
  end;
end;
输出:
set serverout on;
begin
  dbms_output.put_line('t_book有'|| bookCount() ||'条数据');
end;
--------------------------------------------------------
SQL> set serverout on;
SQL> begin
  2    dbms_output.put_line('t_book有'|| bookCount() ||'条数据');
  3  end;
  4  /
t_book有3条数据
PL/SQL procedure successfully completed

定义有参数函数
create function tableCount(tableName varchar2) return number as
begin
  declare recore_count number;
  query_SQL varchar2(300);
  begin
    query_SQL :='select count(*) from'|| tableName ||'group by id';
    execute immediate query_SQL into recore_count;
    return recore_count;  
  end;
end tableCount;

begin
  dbms_output.put_line('表有'|| tableCount('t_book') ||'条数据');
end;
输出:
SQL> begin
  2    dbms_output.put_line('表有'|| tableCount('t_book') ||'条数据');
  3  end;
  4  /
表有3条数据
PL/SQL procedure successfully completed

存储过程定义:

create procedure addBook(bookName in varchar2,bookId in number)as
begin
  declare maxId number;
  begin
    select max(id) into maxId from t_book;
    insert into t_book values(maxId+1,bookName,bookId);
    commit;
    end;
end addBook;

execute addBook('你好啊','1');
(未完。。。。。。)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值