声明を11gの作品は、Oracle 9iのに取り組んでいるが、Oracle 11gはどこのデコードやサブクエリでさえ句を無視しているようにOracle 11gのサブクエリ9iのではなく、以下の
SELECT *
FROM
(
SELECT 0 scrnfail_rate, '9' zz, 7 hh FROM DUAL
UNION ALL
SELECT 0 scrnfail_rate, '9' zz, 7 hh FROM DUAL
)
WHERE zz IS NOT NULL
AND TO_CHAR (hh) NOT IN
(
SELECT
DECODE
(
scrnfail_rate, 0, -1,
ROUND (LEVEL * 1/(scrnfail_rate/100))
-
ROUND (1/(2 * (scrnfail_rate/100)))
) AS nno
FROM DUAL
WHERE NVL (scrnfail_rate, 0) > 0
CONNECT BY LEVEL <= ROUND(9 * scrnfail_rate/100)
)
にそれは見えません。 このクエリは、Oracle 9iと同様に2行を返しますが、結果はOracle 11g EE 11.2.0.1.0 - 64bitのORA-01476: divisor is equal to zero
となります。
誰でも手助けできますか?ありがとう!
作品の両方の後にOracle 11gのバージョン11.2.0.2.0にアップグレードするかもしれません。 – Quassnoi
DUALからたくさんのSELECTがあります。ストアドプロシージャなどの方がよいでしょう。 –
クエリの実行計画を '9i'と' 11g'の両方に投稿してください。 – Quassnoi