0
declare @amount float
declare @result char (20)

select @amount = cost from PurchaseDoc where id = 1

if @amount > 0 set @result = 'ok'
else set @result = 'empty'

print @result
4

2 回答 2

2

这是可以针对 Oracle 数据库执行的脚本的一种表示形式:

DECLARE
    amount    NUMBER;
    result    varchar2(20);
BEGIN
    SELECT SUM(cost) INTO amount
      from PurchaseDoc
     WHERE id = 1;

    if (amount > 0) 
    then
        result := 'ok';
    else 
        result := 'empty';      
    end if;

    dbms_output.put_line(result);    
END;
/

有关 dbms_output 的一些有用信息,请参阅此链接
我建议查看一些 PL/SQL 教程,例如位于www.plsql-tutorial.com的教程。

编辑 根据 Cade Roux 的建议更新了选择语句

于 2012-02-07T21:37:32.757 回答
0

这里真的不需要 PL/SQL,带有“解码”功能的普通选择语句就可以解决问题。

SELECT DECODE(SUM(COST),0,'empty','ok') FROM PurchaseDoc where id = 1;
于 2012-02-07T22:11:37.600 回答