0
`IN_Table_Num Number:=4;
IF IN_Table_Num >3 and IN_Table_Num <100 Then 
Insert Into Table||IN_Table_Num
()Values()
End IF;`

Table1、Table2からTable9のような同じ列名(ID、名前、優先度)のテーブル名があります。次に、渡された番号に基づいてテーブルに挿入/更新します。たとえば、渡された番号が2の場合、データをTable2に挿入または更新する必要があり、番号が3の場合、データをTable3に挿入/更新する必要があります。同じように答えてください

テーブル名を連結してTable4を9に生成し、IN_Table_Numが渡されたときに挿入したいと思います。列名は、Table4からTable9全体で同じです。

説明してください

助けてください

4

1 に答える 1

0

この目的で動的 SQL を使用できます (参照については、http://docs.oracle.com/cd/E14072_01/appdev.112/e10472/dynamic.htmを参照してください)。名前のスタブと番号を連結してテーブル名を作成できるinsertステートメント用の文字列を作成し、それを実行EXECUTE IMMEDIATEします。

于 2012-07-31T12:22:11.433 に答える