Auf Thema antworten

Ich hab das eins zu eins übernommen, und ein paar fehlermeldungen, kann das aber nicht wirklich finden:


    create or replace Function f_checktables(slotName in varchar2)

      return PLS_INTEGER

    as

      l_count integer;

      l_first_column  varchar(128);

      l_column_name   varchar(128);

      l_sequence_name varchar(128);

     

    begin

      -- teste ob es wenigstens eine Spalte mit WID endet

        SELECT count(*) 

         INTO l_count

         FROM USER_TAB_COLS

        WHERE TABLE_NAME = upper(slotname)

        AND column_name = l_column;

     

      -- Keine Spalte mit _WID am Ende vorhanden - hole den Namen der ersten Spalte der Tabelle.

      IF l_count = 0 THEN

        SELECT column_name



        INTO l_column

        FROM USER_TAB_COLS

        WHERE TABLE_NAME = upper(slotname)

        ORDER BY column_id  --<< nach der Reihenfolge sortieren

        FETCH FIRST 1 ROWS ONLY; --<< nur eine Zeile zurückgeben

       

        -- neuen Namen erzeugen

        l_column_name := l_column ||'_WID';

     

        -- und Spalte hinzufügen.

        EXECUTE IMMEDIATE 'ALTER TABLE '||slotname||' ADD COLUMN '||l_column||' VARCHAR2(100)';

      END IF;


      -- keine Ahnung ob ich das richtig verstanden habe.

      l_sequence_name := 'BI_ADMIN_||l_column_name;

     

      SELECT count(*)

        INTO l_count

      FROM user_sequences

      WHERE sequence_name = l_sequence_name;


      /*IF l_count = 0 THEN

        EXECUTE IMMEDIATE 'CREATE SEQUENCE '||l_sequence_name;

      END IF;*/

     

      RETURN 1;

    end;

    /


fehlermeldung:

19/9      PL/SQL: SQL Statement ignored

24/9      PL/SQL: ORA-00933: SQL-Befehl wurde nicht korrekt beendet

42/28     PLS-00103: Fand das Symbol "CREATE" als eines der folgenden erwartet wurde:     * & = - + ; < / > at in is mod remainder not rem    <an exponent (**)> <> or != or ~= >= <= <> and or like like2    like4 likec between || multiset member submultiset

Fehler: Compilerlog prüfen


Ich hatte Create auch schon auskommentiert und in dem 2. select fehlt der From Teil, ich fidne den Fehler nicht


Zurück
Oben