2

我对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 - “权限不足”

*原因:试图在没有适当权限的情况下更改当前用户名或密码。如果尝试在没有必要操作系统权限的情况下安装数据库,也会出现此错误。在 DBMS MAC 中配置 Trusted Oracle 时,如果用户被授予了比当前登录更高标签的必要权限,则可能会发生此错误。

我已使用以下命令为用户授予权限:

grant all privilege to book;

4

2 回答 2

4

使用grant create session to book;然后创建过程

于 2012-05-07T01:10:40.770 回答
4

授予预订创建程序;

于 2016-09-08T06:42:23.273 回答