在PL/SQL中反转字符串的过程

Sha*_*ail 1 sql oracle plsql syntax-error

我刚开始学习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;
/
Run Code Online (Sandbox Code Playgroud)

Prz*_*lej 5

两件事 - 你不应该在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, i, 1);
        END LOOP;
        dbms_output.put_line(rev);
END;
Run Code Online (Sandbox Code Playgroud)