0
のようなクエリを実行するためにどのような方法があります:SELECT * FROM 17187::regclass;
PostgreSQLでテーブルからOIDを選択する方法はありますか?
どこSELECT 17187::regclass;
→tablename
それはEXECUTE
によって関数内でこれを実現するのは簡単ですが、私は機能せずにそれを行うには思ったんだけど。
ありがとうございました。
のようなクエリを実行するためにどのような方法があります:SELECT * FROM 17187::regclass;
PostgreSQLでテーブルからOIDを選択する方法はありますか?
どこSELECT 17187::regclass;
→tablename
それはEXECUTE
によって関数内でこれを実現するのは簡単ですが、私は機能せずにそれを行うには思ったんだけど。
ありがとうございました。
実行する必要があります。理由は次のとおりです。
SQLクエリは実行時にパイプラインを経由します。これは、次のように大まかに行われます。
結果として、値リテラルのみをパラメータ化でき、識別子をパラメータ化することはできません。また、ユーティリティー・ステートメントは決して計画されておらず、パラメーター化されていません(このディスカッションの末尾にはありますが、create user
のパラメーターを設定することはできません)。
このようなことは根本的に不可能ですが、現時点ではPostgreSQLの動作はサポートされていません。
なぜそれをしたいですか? –
'select * chr(102)|| rom tablename' - 実行可能ですが、なぜですか? –
おそらく' EXECUTE'が必要ですが、あなたはすでにそれを知っています。 –