我对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;
答案 0 :(得分:4)
使用grant create session to book;
,然后创建程序
答案 1 :(得分:3)
授予创建程序以预订;