一尘不染

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

sql

我刚刚开始学习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;
/

阅读 182

收藏
2021-03-17

共1个答案

一尘不染

两件事-您不应该在过程/函数的参数列表中指定数据类型的大小,并且不需要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;
2021-03-17