で対応するクエリは何ですか?私はPostgreSQLで完璧に動作し、次のクエリを持っていたOracle DB
Oracleでクエリを実行すると、エラーが発生しますが、postgresqlで正常に実行されます。
で対応するクエリは何ですか?私はPostgreSQLで完璧に動作し、次のクエリを持っていたOracle DB
Oracleでクエリを実行すると、エラーが発生しますが、postgresqlで正常に実行されます。
from
句のないクエリは許可されません。
SELECT 'Tom' as name FROM dual
Oracleが句から必要がありますクエリのこれらの種類のために、Oracleは、1列1行の、dual
と呼ばれるシステム・テーブルを提供します。その場合は、DUAL表を使用する必要があります。それはあなたが何かを選択している場合、あなたはテーブルからそれを選択しなければならないことを強制することに
select 'Tom' as name from dual;
Oracleは(私の知る限り)他のRMDBSsの中では珍しいです。
この目的のために、DUAL tableがあります。これは、PL/SQLプロシージャを記述するのではなく、SQL内の定数、関数などを選択できる特別な1行1列の表です。
10gからオプティマイザが他のテーブルと異なることを認識し、実行パスを生成するときにその情報を利用して、 "通常の" 1列、1行の表。
ここでのOracleの動作は、実際にはANSI SQLに準拠しています。 SQL標準によれば、FROM句が必要です。 – jarlh
@jarlh私はそれについて完全には分かっていません。私はある時点でそれらを読んでいると思うし、定数を選択するときにFROM句が必要ないという事実を思いついた。しかし、私はそれが真実であるかどうかを確認するために私が使用できるスタンダードのコピーを見つけることができません! – Boneist
ここでは、ISO/ANSI SQL構文の準拠性を確認できます。http://developer.mimer.com/validator/parser200x/index.tml – jarlh
テーブルから選択する必要があります。 '' dual 'の名前としてTomを選択してみてください。 – jarlh
@jarlhありがとう – dhS