Announcement

Collapse
No announcement yet.

SPOOL-Dateinamen mit Variablen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SPOOL-Dateinamen mit Variablen

    Hallo

    Ich habe folgende Situation:

    Ich starte ein SQL-Script mit einem Batch:
    c:\oracle\oradev\bin\plus80.exe user/pw@db @c:\test.sql 006118550101

    006118550101 ist die Variable, die ich übergebe.

    Das SQL-Script:
    ...
    define Dateiname = &1
    pool c:\&Dateiname..csv
    select....
    ...
    funktioniert einwandfrei.

    Ich möchte nun für den Dateinamen nur die ersten 8 Stellen haben, also 00611855:
    define Dateiname = substr(&1,1,8)

    Das funktioniert jedoch nicht.

    Wie kann ich den Dateinamen anpassen?

    Danke und Gruss, Thomas

  • #2
    Substr funktioniert nur in einem SQL oder PL/SQL statement.

    Wie wär's, den Eingangsparameter schon vor dem Aufruf zu kürzen:
    SET _dateiname=langerDateiname
    SET _dateinamekurz=%_dateiname:~0,8%
    ECHO %_dateinamekurz% =langerDa
    Gruß, defo

    Comment


    • #3
      Danke für den Tipp.

      Ich habe es so gelöst:

      ...
      define Dateiname = &1
      col f1 new_value DateinameKurz
      select 'C:\' || substr(&Dateiname,1,6) || '.csv' as f1 from dual;
      spool &DateinameKurz
      ....

      ...und funktioniert.

      Gruss, Thomas

      Comment

      Working...
      X