这样一句T-SQL 在Oracle中怎么实现呢?(不能用存储过程)if exists (select name from Table1)select * from FiscalYear where and Recycle = 0elseselect * from FiscalYear where and Recycle = 1
SELECT * FROM FISCALYEAR WHERE RECYCEL = CASE WHEN (SELECT COUNT(1) FROM TABLE1) > 0 THEN 0 ELSE 1 END;
十分感谢楼上的答案~~ 不过貌似我问题没说清楚.... if后面的句子和else后面的句子可能完全不一样..if exists (select name from Table1) select * from FiscalYear where and Recycle = 0 else select * from Table3
是啊,所以很头大在做SQLServer到Oracle的项目转换到这里卡住了。
建议楼主先找本oracle基础开发的书熟悉一下。 Oracle 存储过程或者函数里面不允许直接 select * from table;这种declare cnt int; begin select count(1) into cnt from Table1; if cnt>0 then ------- else -------- end if; end;
只能写PL/SQL!如果表间没有关联的问!
5楼这方法没错。 但是我需要在 if cnt>0 then ------- else -------- end if; 这中间返回数据表 怎么写? 直接写select语句报错了就。
FROM FISCALYEAR
WHERE RECYCEL = CASE WHEN (SELECT COUNT(1) FROM TABLE1) > 0 THEN 0 ELSE 1 END;
if后面的句子和else后面的句子可能完全不一样..if exists (select name from Table1) select * from FiscalYear where and Recycle = 0 else select * from Table3
Oracle 存储过程或者函数里面不允许直接 select * from table;这种declare
cnt int;
begin
select count(1) into cnt from Table1;
if cnt>0 then
-------
else
--------
end if;
end;
但是我需要在
if cnt>0 then
-------
else
--------
end if;
这中间返回数据表 怎么写? 直接写select语句报错了就。