我对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;