sql >> データベース >  >> RDS >> Oracle

sqlplus入力ファイルのテーブル名のパラメータ化

    問題は、SQL * Plusが&の後に文字列全体を処理していることです。 、置換変数名として、次の空白または類似文字まで。明らかに、それはあなたがここで望んでいることではありません。

    幸い、彼らはこれを考えており、変数名の終わりを.

    FROM &3._TABLE
    

    (少なくとも、これは名前付き変数で機能します。位置変数でも機能するとほぼ確信しています...そうでない場合は、&3に設定された新しい変数を定義する必要があります。 回避策として)。

    ドキュメント にあります。 、しかし点滅すると見逃します:

    あなたが将来のために心に留めておきたいかもしれない関連した効果があります。置換変数の次の文字が.の場合 とにかく(たとえば、スキーマとテーブルの間、またはテーブルと列の間)、それは置換ターミネータとして解釈されます。スキーマを&4として個別に渡したとします。 、値'scott';これ:

    FROM &4.&3._TABLE
    

    妥当に見えますが、scottdev_TABLEとして置き換えられます 、認識されません。したがって、その場合は、追加のものが必要です:

    FROM &4..&3._TABLE
    

    これはscott.dev_TABLEとして置き換えられます 。




    1. Posgtresバッチ挿入から複数のSERIAL値を返す

    2. PgAdminを使用してAmazonEC2インスタンスでPostgreSQLにリモートで接続できません

    3. 最初の列の値が同じ場合は、2番目の列の値を連結します

    4. 列に複数の特定の値を持つ異なる行で発生するMySQLSelectID