-1
EXECUTE IMMEDIATE
  'Create Table '||vCUPRSBaseTableName
  ||' As Select * From '||vCUPRSTableName
  ||' where C_DESTINATION_ENTITY='''||l_bc_a(i)
  ||''' and LATEST=1'
4

2 に答える 2

1

テーブル名が変数にバインドされた静的SQLを使用することはできません。これを行う唯一の方法は、動的SQLを使用することです

于 2012-05-15T06:12:18.917 に答える
0

ストアド プロシージャで DDL を実行することはできません。ターゲット テーブルとソース テーブルの両方に柔軟に名前を付けたいという事実と合わせて、動的 SQL が唯一の選択肢です。

ただし、David A が観察しているように、この方法でテーブルを作成しなければならないことは実際にはほとんどありません。ユースケースを説明していただければ、より良いアプローチを提案できるはずです。もし私が賭け屋だったら、あなたが本当に望む解決策として一時的なテーブルにお金を置きます。 詳細をご覧ください

于 2013-01-20T14:13:45.747 に答える