DUAL
は、データ・ディクショナリとともにOracle Databaseによって自動的に作成された表です。DUAL
は、ユーザーSYS
のスキーマにありますが、すべてのユーザーがDUAL
という名前でアクセスすることができます。VARCHAR2(1)
として定義されているDUMMY
列を持ち、X
値を持つ行を含みます。DUAL
表から選択することは、定数式をSELECT
文で計算する場合に便利です。 DUAL
には行が1つしかないため、定数が返されるのは1回のみです。一方で、任意の表から定数、疑似列または式を選択できますが、値は表の行の数のみ戻されます。DUALから定数値を選択する例は、「SQLファンクション」
を参照してください。
注意: Oracle Database 10gリリース1以降では、DUMMY 列を含まない式を計算する場合に、論理I/OがDUAL 表で実行されません。この最適化は、実行計画でFAST DUAL としてリストされます。DUAL のDUMMY 列に対してSELECT を実行した場合、この最適化は行われず、論理I/Oが実行されます。 |