4
select banner
from v$version
;
BANNER
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
PL/SQL Release 12.1.0.2.0 - Production
"CORE 12.1.0.2.0 Production"
TNS for Solaris: Version 12.1.0.2.0 - Production
NLSRTL Version 12.1.0.2.0 - Production
との12cのリリースで複数の機能、Oracleは、直接SQL文の先頭にPL/SQL関数の宣言を許可する機能を追加しました(https://oracle-base.com/articles/12c/with-clause-enhancements-12cr1を参照)のOracle 12C:SELECTステートメントの句
これは非常に便利な機能です。 SELECTステートメントに限定されたユーザー権限でDBからデータをプルする必要があるプロジェクトでは、
簡単な例:
with
function add_string(p_string in varchar2) return varchar2
is
--Function to add a string
l_buffer varchar2(32767);
begin
l_buffer := p_string || ' works!';
--
return l_buffer;
--
end ;
--
select add_string('Yes, it') as outVal
from dual
;
---------
OUTVAL
Yes, it works!
しかし、まだWITH句で複数機能を含むことができていない。
with
function add_string(p_string in varchar2) return varchar2
is
--Function to add a string
l_buffer varchar2(32767);
begin
l_buffer := p_string || ' works!';
--
return l_buffer;
--
end ;
--
, function doesnt_it(p_string in varchar2) return varchar2
is
l_buffer varchar2(32767);
begin
l_buffer := p_string || ' Doesnt it?';
--
return l_buffer;
--
end ;
--
select add_string('Yes, it') as outVal
from dual
;
はORA-00928: missing SELECT keyword
をスロー。 この新しい機能で複数の関数宣言が許可されているかどうかは誰にも分かりますか?もしそうなら、どのように実現できますか?
だから、シンプル!どうもありがとう! :) – silentsurfer
ようこそ。 – abarisone