oracle 12c pl/sql语言,ORACLE 12C SQL语句中通过with 定义PL/SQL 函数
在ORACLE 12C支持在sql語句中編寫函數(shù),用來實(shí)現(xiàn)sql語句操作需要使用函數(shù)的部分功能,該功能對于你不想在數(shù)據(jù)庫中新建函數(shù) or 你的庫是read only模式下要使用新函數(shù)實(shí)現(xiàn)某種功能,可以通過這種方法實(shí)現(xiàn),增加了ORACLE數(shù)據(jù)庫靈活點(diǎn)
SQL> select * from v$version;
BANNER CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production 0
PL/SQL Release 12.1.0.1.0 - Production 0
CORE 12.1.0.1.0 Production 0
TNS for Linux: Version 12.1.0.1.0 - Production 0
NLSRTL Version 12.1.0.1.0 - Production 0
測試過程創(chuàng)建一個(gè)簡單函數(shù),用來判斷輸入數(shù)據(jù)值是否是數(shù)字,如果是數(shù)字輸出Y,如果不是輸出N.
如果是12C以前的數(shù)據(jù)庫,需要事先創(chuàng)建一個(gè)函數(shù),然后通過select語句條用;但是在12C中直接通過一條select語句解決
SQL> with function Is_Number
2 (x in varchar2) return varchar2 is
3 Plsql_Num_Error exception;
4 pragma exception_init(Plsql_Num_Error, -06502);
5 begin
6 if (To_Number(x) is NOT null) then
7 return 'Y';
8 else
9 return '';
10 end if;
11 exception
12 when Plsql_Num_Error then
13 return 'N';
14 end Is_Number;
15 select is_number('www.xifenfei.com') is_num from dual;
16 /
IS_NUM
--------------------------------------------------------------------------------
N
總結(jié)
以上是生活随笔為你收集整理的oracle 12c pl/sql语言,ORACLE 12C SQL语句中通过with 定义PL/SQL 函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 别人在忙挖矿,京东架构师却悄悄用区块链搞
- 下一篇: 优盘在台式电脑怎么用 优盘如何在台式机上