2012-01-06 3 views
0

複数の文字を生成するために使用しているOracle-Viewsがいくつかあります。例についてはOracleは変数ビューを使用して値を動的に置き換えます


選択ID、THATSNOTINTERESTING FROM
blubb
としてVIEW V_blubbをCREATE OR REPLACE。


選択ID、THATSNOTINTERESTING FROM
BLA
としてVIEW V_blaをCREATE OR REPLACE。

私はいくつかのテキスト入力(HTML)とhtml_idを取得する関数を持っています。

私の関数は、それが持っているhtml_idによってどのビューを見る必要があるのか​​を判断しようとしています。そして、この後、すべてのタグ<var name="COLUMNNAME"> </var>をDBの値で置き換える必要があります。 <var name"blallala"> </var>の場合は、列 'blallala'の値が必要です。

これで正しいビューを選択できました。また、(動的SQLを使用して)挿入したい値を選択することもできます。しかし、私はテキストを置き換えなければならない複数のフィールドがあります。

例:

Intput:<var name="col1"> </var>, <var name="col2"> </var>
出力:VALUE_OF_ROW1_COL1、VALUE_OF_ROW2_COL2
VALUE_OF_ROW2_COL1、VLAUE_OF_ROW2_COL2

問題:

私はビューの変更ため、レコードにすべてを取得することはできませんよレコードを動的に初期化することはできません(私は思う)。だから、私はカーソルループを使って得たレコードを動的選択に照会することはできません。

はるか。具体的には:私はすべてのcollumn上に第1のすべての行を超えると、行ごとにループまたはループにIDEXのために必要な...

答えて

1

私はこのための解決策を見つけました。私は自分の関数で文字列として新しいものを生成し、これを "EXECUTE IMMEDIATE function_string USING paramter"で実行しました - 関数:

関連する問題