2017-10-20 17 views
1

Oracle APEXでPL/SQLプロシージャを作成しましたが、コンパイルするとエラーが発生します。 エラーの原因を理解できません。それは、私は、sintaxisが正しいと思う。ここでOracle SQLプロシージャ。ここのエラーは何ですか?

は、画面キャプチャです: https://i.imgur.com/UhfIMvh.png

これはコードです:

create or replace PROCEDURE imageBLOBtoHTML( v_MimeType IN VARCHAR2 (255) := null, 
               v_Size IN NUMBER := null, 
               v_file_name IN VARCHAR2 (2000) := null, 
               imageBLOB IN NOCOPY BLOB := null) 
AS 
BEGIN 

     --Generates HTML 
     OWA_UTIL.mime_header (NVL (v_MimeType , 'application/octet'), FALSE); 
     htp.p('Content-length: ' || v_Size); 
     htp.p('Content-Disposition: filename="' || SUBSTR(v_file_name , INSTR(v_file_name , '/') + 1) || '"'); 
     owa_util.http_header_close; 

     --Stops generation of HTML 
     wpg_docload.download_file(imageBLOB); 
END imageBLOBtoHTML; 

これはエラーです:

Compilation failed,line 1 (13:39:25) 
PLS-00103: Encountered the symbol "(" when expecting one of the following: := .) , @ % default character 
+1

サイズのない 'v_MimeType IN VARCHAR2:= null'を使用してください。 –

+0

':= null'は役に立たないと思います。入力パラメータがNULLの場合、プロシージャは機能しません。 –

+0

@Wernfried Domscheitありがとう!これはうまくいくようですが、BLOBを受け入れることを拒否しました。答えとして書くと、私はそれをマークすることができます。 – bewe

答えて

2

のためのNULLを許可
create or replace PROCEDURE imageBLOBtoHTML(v_MimeType IN VARCHAR2 := null, 
              v_Size IN NUMBER, 
              v_file_name IN VARCHAR2, 
              imageBLOB IN OUT NOCOPY BLOB) 

他のパラメータ(すなわちデフォルトとしてNULLを設定する)は意味をなさない。

+0

ありがとうございました!今すぐ正しくコンパイルされます。 – bewe

2

エラーラインである:

imageBLOB IN NOCOPY BLOB := null 

あなたはそれを変更する必要があります。

imageBLOB  IN OUT NOCOPY BLOB := '' 

私のように言う:この1である必要があり、それを興からの回答で私の答えを参加

CREATE OR REPLACE PROCEDURE imageBLOBtoHTML (
    v_MimeType IN   VARCHAR2 := '', 
    v_Size  IN   NUMBER := '', 
    v_file_name IN   VARCHAR2 := '', 
    imageBLOB  IN OUT NOCOPY BLOB := '') 
+0

ありがとうございました!私は複数の答えをマークすることができたらいいと思う。報酬を持っています。https://www.youtube.com/watch?v=kwsFy1EZupw – bewe

+3

@bewe Np .. Wernfried Domscheitは私の火であり、彼に報いることは私に報いを与えることと同じです。 – XING

+0

あなたは私を失望させています。 'IN VARCHAR2(xxx) 'は機能しません。 –

関連する問題