Announcement

Collapse
No announcement yet.

Was ist hier bitte falsch ?

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

  • Was ist hier bitte falsch ?

    EXEC ('ALTER TABLE dbo.ProcessOverview Add' + @newID + 'varchar(50);');

    Die Zeile habe ich in einer Stored Procedure des MS SQL Server 2005 drin. Beim Ausführen der Procedure kommt folgende Meldung :

    Meldung 102, Ebene 15, Status 1, Zeile 1 Falsche Syntax in der Nähe von '('.

    Bin absolut ratlos ?

    Danke

  • #2
    Hallo und willkommen,

    Was ist hier bitte falsch ?
    Zunächst das Unterforum: Es gibt eines speziell für MS-SQL Server 2005. Warum fragst du nicht gezielt bei den MS-Fachleuten?

    Zweitens fehlen hinter 'Add' und vor 'varchar' jeweils Leerzeichen.

    Drittens (und das ist der wichtigste Punkt) muss die Variable vorher deklariert sein, nicht innerhalb des EXEC-Strings. Siehe msdn: Execute, vor allem die Beispiele.

    Gruß Jürgen

    Comment


    • #3
      Der Fehler dürfte einfach bei den fehlenden Leerzeichen liegen. So geht's zB:

      declare @newID varchar(20)
      set @newid = 'wert01'
      EXEC ('ALTER TABLE myTable ADD ' + @newID + ' varchar(50);');


      bye,
      Helmut

      Comment


      • #4
        Danke, an den Leerzeichen hings

        Comment

        Working...
        X