PL / SQL条件查询

时间:2014-02-05 14:52:37

标签: oracle plsql conditional

尝试使用以下伪代码来处理PL / SQL Developer但没有任何运气。想象一下,我有一个带有a-e列的表。

Declare
    name      varchar(100);
    address   varchar(100);
Begin

    If column a = 'Y'
        name = column b;
        address = column c;
    else
        name = column d;
        name = column e;
End

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

我不认为需要PL / SQL,普通的SQL也可以这样做

select case
         when column_a = 'Y' then colum_b 
         else colum_d 
       end as name,
       case
          when column_a = 'Y then colum_d
          else column_e
       end as address
from the_table;

在视图中封装它可能是一个好主意

答案 1 :(得分:0)

尝试

Select 
case when columnA = 'Y' then columnB else columnD end into name,
case when columnA = 'Y' then columnD else columnE end into address
From Table