2012-05-07 8 views
1

oracleに関する知識がほとんどありません。私は以下のような関数を作成しようとしました。oracleで関数を作成するときに権限が不十分です

CREATE OR REPLACE FUNCTION "BOOK"."CONVERT_TO_WORD" (totpayable IN NUMBER) RETURN VARCHAR 
AS 
    totlength NUMBER; 
    num VARCHAR2(14); 

    word VARCHAR2(70); 
    word1 VARCHAR2(8); 
BEGIN 

    SELECT LENGTH(totpayable) INTO totlength FROM dual; 

    WHILE totlength>0 
     LOOP 
      SELECT SUBSTR(totpayable,totlength,1) INTO num FROM dual; 
      IF num='-' THEN 
      word1:='(Excess)'; 
      END IF; 
      IF num='0' THEN 
      word1:='Zero'; 
      END IF; 
      IF num='1' THEN 
      word1:='One'; 
      END IF; 
      IF num='2' THEN 
      word1:='Two'; 
      END IF; 
      IF num='3' THEN 
      word1:='Three'; 
      END IF; 
      IF num='4' THEN 
      word1:='Four'; 
      END IF; 
      IF num='5' THEN 
      word1:='Five'; 
      END IF; 
      IF num='6' THEN 
      word1:='Six'; 
      END IF; 
      IF num='7' THEN 
      word1:='Seven'; 
      END IF; 
      IF num='8' THEN 
      word1:='Eight'; 
      END IF; 
      IF num='9' THEN 
      word1:='Nine'; 
      END IF; 
      word:=word1||' '||word; 
      totlength:=totlength-1; 
     END LOOP; 
RETURN word; 

END ; 

私はそれを実行しようとしたとき、私は以下のようにエラーが発生します:

ORA-01031:権限が不足

01031.00000 - "権限が不足"

*原因:適切な特権なしで現在のユーザ名またはパスワード を変更しようとしました。また、このエラーは、 のシステム権限を必要とせずにデータベースをインストールしようとした場合にも発生します。 Trusted OracleがDBMS MACで構成されている場合、ユーザーに現在のログインより上位のラベル で必要な権限が付与されている場合、このエラーが発生することがあります( )。私は、このコマンドを使用して、ユーザーに権限を与えている

grant all privilege to book;

答えて

3

使用grant create session to book;をしてから

+0

セッションを作成しますか? – kaushik

+0

はい、申し訳ありませんが、誤字 – Satya

2

グラントは予約するプロシージャを作成する手順を作成します。

関連する問題