sql >> Databáze >  >> RDS >> Oracle

Parametrizace názvu tabulky ve vstupním souboru sqlplus

Problém je v tom, že SQL*Plus zpracovává celý řetězec po & , až po další mezeru nebo podobné, jako název substituční proměnné. Očividně to tady není to, co chcete.

Naštěstí na to mysleli a konec názvu proměnné můžete označit . :

FROM &3._TABLE

(Aspoň to funguje pro pojmenované proměnné a jsem si téměř jistý, že to bude pro poziční... pokud ne, pak byste museli definovat novou proměnnou nastavenou na &3 jako řešení).

Je to v dokumentace , ale mrkni a bude ti to chybět:

Existuje související efekt, který možná budete chtít mít na paměti do budoucna. Pokud je další znak za substituční proměnnou . každopádně - například mezi schématem a tabulkou nebo mezi tabulkou a sloupcem - pak to bude interpretováno jako substituční terminátor. Řekněme, že jste schéma předali samostatně jako &4 , s hodnotou 'scott'; toto:

FROM &4.&3._TABLE

vypadá rozumně, ale byl by nahrazen jako scottdev_TABLE , který nebude rozpoznán. V takovém případě tedy musíte mít jeden navíc:

FROM &4..&3._TABLE

který by byl nahrazen jako scott.dev_TABLE .




  1. Automatické doplňování pomocí Flask, Jquery, Javascript, MySQL

  2. Jak upravit pole pomocí jsonPath v PostgreSQL?

  3. Jak zobrazit sekundární záznamy v podřízeném řádku datové tabulky s příslušným id?

  4. SQL dotaz pro získání všech produktů, kategorií a metadat woocommerce/wordpress