我写了一些代码来打印条件是真还是假,但是我不能得到真还是假的输出。为什么?
下面是代码:
create or replace PROCEDURE TET_STOP_DID
IS
result VARCHAR2(10);
LastGeneratedcode TET_LASTGENERATEDMASKCODE.Maskedcode%TYPE;
BEGIN
select maskedcode into LastGeneratedcode from TET_LASTGENERATEDMASKCODE;
IF (SUBSTR(LastGeneratedcode,5,5) !='ZZZZZ') then
result := 'true';
else
result :='false';
END IF;
END TET_STOP_DID;
2条答案
按热度按时间13z8s7eq1#
你没有打印任何东西;您只需要将
result
变量设置为某个值,就可以了。不过,该过程看起来并不正确,因为如果表中有两行(或更多行),它将引发too_many_rows错误(如果表为空,则会引发no_data_found)。我认为您需要传递某个参数来限制获取的行数。例如:
接受参数并处理异常的过程(这是相当"糟糕"的处理,只是为了说明需要注意什么):
测试:
3phpmpom2#
如果可以使用SERVEROUTPUT子句运行该过程,则可以在存储过程代码中插入DBMS_OUTPUT:
然后从终端开始,它运行如下:
谢谢