我遇到了一塊T-SQL,我試圖轉換成Oracle。它看起來像這樣:Oracle的情況下,當存在使用相同的變量插入到
SET @local variable=
CASE
when exists (select field from table where value=0) then 0
when exists (select same field from same table where value=1) then 1
when exists (select same fieldfrom same table where value=2) then 1
else @local variable
END
@local變量在過程的前面查詢的結果中設置。現在
,我想這在下面的方式轉換到Oracle:
BEGIN
SELECT CASE
WHEN EXISTS (
SELECT field
FROM table
WHERE value = 0
)
THEN 0
WHEN EXISTS (
SELECT same field
FROM same table
WHERE value = 1
)
THEN 1
WHEN EXISTS (
SELECT same field
FROM same table
WHERE value = 2
)
THEN 1
ELSE localvariable
END
INTO localvariable
FROM DUAL;
END;
然而,PL/SQL似乎沒有使用@localvariable在else語句和喜歡我進入聲明。我知道這可能不是一個寫得很好的查詢,但是這裏的解決方案是什麼?我如何在合法的PL/SQL中編寫這個代碼?
我喜歡這個。謝謝 – 2014-11-25 11:16:51
雖然對錶格進行了全面掃描。 – 2015-04-10 15:36:37