特定のリクエストに関するヒントを探しています。PL/SQLの列タイトルへの参照
まず、Oracle11gDBのPL/SQLで作業していますが、いくつかの機能と手順を実行しています。
theese関数の1つにSELECT文があります。この関数を何度も使用して、同じテーブルから異なる値を取得したいと思います。基本的には、私は必要なデータに応じてSELECT文の列を変更する必要があります。
関数であるため、SELECTで使用するために、この関数に変数を渡す方法があるのだろうかと思いました。
私の考えでは、 "column_header_type"変数のようなものです...しかし、それは存在するとは限りません。
とにかく、これは私の関数の例である:
FUNCTION XXX
(
a IN VARCHAR2,
b IN VARCHAR2,
field IN VARCHAR2
)RETURN VARCHAR2 is
l_var VARCHAR2(200);
BEGIN
SELECT field
INTO l_var
FROM TABLE01
WHERE COD_A = a
AND COD_B = b;
RETURN l_var;
END XXX;
パラメータ「フィールドが」それは値を取得しない、VARCHAR2ことが、唯一の文字列自体はできません。
私の結果を得るための他の方法があることは知っていますが、私はいつもの残酷な石器時代のコードよりも「エレガントな」ものを試したかったのです。
ありがとうございました。 マルチェロ
渡すと予想される可能性のある小さな列番号がない限り、動的SQLを使用する必要があります。どの列の値も常にl_varに収まるようになります。彼らは暗黙の変換を必要としますか、またはそれらは常に文字列ですか? –
私はこのテーブルでこの機能で使用できる10列のようなものを持っていますが、これは特定のケースに過ぎません。他のケースでは数十種類あります... 幸いにもすべての列は同じタイプです。 提案していただきありがとうございます、私はそれを見ていきます –
もっと生き生きした方法で穴を検索し、列にアクセスするためのクライアント側の機能を持たせることができます。 – Serg