我刚开始学习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; /
解决方法
两件事 – 您不应在procedure / function的参数列表中指定数据类型大小,也不需要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,1); END LOOP; dbms_output.put_line(rev); END;