sql >> Database teknologi >  >> RDS >> Oracle

Parametrisering af tabelnavn i sqlplus-inputfil

Problemet er, at SQL*Plus behandler hele strengen efter & , op til det næste mellemrum eller simlar, som substitutionsvariabelnavnet. Det er tydeligvis ikke det, du ønsker her.

Heldigvis har de tænkt på dette, og du kan angive slutningen af ​​variabelnavnet med en . :

FROM &3._TABLE

(Det virker i hvert fald for navngivne variabler, og jeg er næsten sikker på, at det vil gøre det for positionelle... hvis ikke, så skal du definere en ny variabel indstillet til &3 som en løsning).

Det er i dokumentationen , men blink og du vil savne det:

Der er en relateret effekt, som du måske ønsker at huske på for fremtiden. Hvis det næste tegn efter substitutionsvariablen er en . alligevel - mellem skemaet og tabellen, eller mellem tabel og kolonne, for eksempel - så vil det blive fortolket som substitutionsterminatoren. Lad os sige, at du sendte skemaet separat som &4 , med værdien 'scott'; dette:

FROM &4.&3._TABLE

ser rimeligt ud, men ville blive erstattet som scottdev_TABLE , som ikke vil blive genkendt. Så i det tilfælde skal du have en ekstra:

FROM &4..&3._TABLE

som ville blive erstattet som scott.dev_TABLE .




  1. Hvordan får man første og sidste post fra en sql-forespørgsel?

  2. Konverter Unix-tidsstempel til menneskelig læsbar dato ved hjælp af MySQL

  3. Fuldtekstsøgning installeret eller ej

  4. Tabeller, jeg opretter, der starter med dotNetChat_ forsvinder efter genstart af MySQL