Oracle存储过程

时间:2011-05-12 20:34:15

标签: stored-procedures

我正在写一个存储过程。如果有任何好的语法可以实现此目的,请告诉我:

 我有三个表:table1,table2,table3。
我想将table1连接到table2,但如果table2中的主键为零, 然后我想将table1与table3连接。

有没有办法在Oracle存储过程中有条件地执行此操作?

代码段是这样的:

选择t1.col1,t2.colABC
  来自    table1 t1,table2 t2,table3 t3
凡    t1.colYear = Var_year
   和
    t2.colID =“select(如果t1.colGroup!= 0,请选择t1.colGroup。
                         其他                             t3.colGroup)

TIA
-NewBee

1 个答案:

答案 0 :(得分:0)

创建两个查询。

第一个查询应仅在table2中的主键不为零的情况下连接table1和table2。

第二个查询只应将table1与table2和table3连接,而table2中的主键为零。

将两个查询的结果结合在一起。