我刚刚开始学习PL / SQL,但不确定如何创建过程。逻辑似乎是正确的,但我认为第一行中存在一些语法错误。这是我的代码:-
CREATE OR REPLACE PROCEDURE ReverseOf(input IN varchar2(50)) IS DECLARE reverse varchar2(50); BEGIN FOR i in reverse 1..length(input) LOOP reverse := reverse||''||substr(input, i, 1); END LOOP; dbms_output.put_line(reverse); END; /
两件事-您不应该在过程/函数的参数列表中指定数据类型的大小,并且不需要DECLARE关键字。试试这个:
DECLARE
CREATE OR REPLACE PROCEDURE ReverseOf(input IN varchar2) IS rev varchar2(50):=''; BEGIN FOR i in reverse 1..length(input) LOOP rev := rev||substr(input, i, 1); END LOOP; dbms_output.put_line(rev); END;