none
SQL Befehl in Variable escapen RRS feed

  • Frage

  • Hallo an alle PowerShell-Geeks ;-),

    ich habe zwei SQL Befehl die in eine Variable "gepackt" habe und dann über PowerShell ausführen will. 

    1. Problem temporäre Tabelle

    Ich möchte gern

    $testva ="SELECT * from #TESTDB" Jedoch tut sich PowerShell mit dem Zeichen # schwer. Was kann ich hier tuen?

    2. Problem 

    ich möchte gern eine Variable $va1 in die SQL Abfrage einbetten:

    $Query="INSERT INTO [dbo].[ADlog] ([PersNr],[ADFeld],[Wertvorher],[Wertdanach],[Zeitstempel]) VALUES ('02354','test',$va1, 'GGG2', Getdate())" 

    jedoch bekomme ich es nicht hin. Kann mir jemand helfen?

    Danke schon mal vorab  

    Freitag, 5. Juli 2019 12:59

Antworten

  • Moin,

    ad 1. wieso? Hier funktioniert's. Du kannst Temp Tables natürlich nur innerhalb derselben SQL-Session (Execute) sehen, in der Du sie angelegt hast.

    ad 2. Wenn der Wert für $va1 eine Zahl ist, sollte das funktionieren. Ist es ein String oder Date, fehlen Dir die Anführungszeichen. Also '$va1' statt $va1. Da die ganze Query in doppelte Anführungszeichen gesetzt ist, wird der Wert von $va1 auch ordentlich expandiert.


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Freitag, 5. Juli 2019 13:15