Wie kann ich Spaltenwerte mit dem Inhalt einer Datei aktualisieren, ohne sie zu interpretieren?

wunderschön.georg

Ich muss Werte in einer Spalte aktualisieren, wenn die Zeile mit einer bestimmten WHERE-Klausel übereinstimmt, indem ich den Inhalt einer Textdatei verwende.

Der Inhalt der Datei ist Javascript-Code und kann als solcher einfache Anführungszeichen, doppelte Anführungszeichen, Schrägstriche und umgekehrte Schrägstriche enthalten - aus meiner Sicht könnten andere Sonderzeichen enthalten sein. Der Inhalt der Datei kann nicht geändert werden. Dies muss über psql erfolgen, da das Update über Bash-Skripte automatisiert wird.

Mit dem folgenden Befehl - wobei scriptNameist eine zuvor deklarierte Bash-Variable -

psql -U postgres db<<EOF
\set script $(cat $scriptName.js))
UPDATE table SET scriptColumn=:script WHERE nameColumn='$scriptName';
EOF

gibt folgenden Fehler zurück

ERROR:  syntax error at or near "{"
LINE 1: ...{//...
           ^

Ich möchte den Inhalt der Datei $scriptName.jsals Klartext behandeln und jegliche Interpretation vermeiden.

wunderschön.georg

Ich habe eine Lösung für mein Problem gefunden, obwohl ich nicht weiß, warum es funktioniert. Ich lasse es hier in der Hoffnung, dass es für jemand anderen nützlich sein könnte oder dass jemand, der besser informiert ist als ich, erklären kann, warum es jetzt funktioniert.

Kurz gesagt, das Setzen der Variable als psql-Parameter hat den Trick gemacht:

psql -U postgres db -v script="$(cat $scriptName.js)"<<EOF
UPDATE table SET scriptColumn=:'script' WHERE nameColumn='$scriptName'
EOF

Ich bin mir nicht sicher, wie sich das von unterscheidet

psql -U postgres db <<EOF
\set script "$(cat $scriptName.js)"
UPDATE table SET scriptColumn=:'script' WHERE nameColumn='$scriptName'
EOF

was ich zuvor versucht habe und gibt folgenden Fehler zurück:

unterminated quoted string
ERROR:  syntax error at or near "//"
LINE 1: // dummy text blahblah

Danke an alle die geholfen haben!

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Wie kann ich eine TXT-Datei mit HTML-Tags laden, ohne sie mit HTML zu interpretieren?

Wie kann ich eine Datei mit dem Inhalt des Schlüssels / Werts einer ConfigMap bereitstellen, ohne den Ordner zu löschen?

Wie kann ich den Inhalt (Zeilen) vieler kleiner Dateien (effizient) mit dem Inhalt (Zeilen) einer einzelnen großen Datei abgleichen und aktualisieren / neu erstellen?

Wie mache ich das NumberFormatter-Format zu einer Prozentzahl, ohne sie "neu zu interpretieren"?

Ich habe zwei Ordner mit Dateien mit identischen Namen, aber unterschiedlichem Inhalt. Wie kann ich sie abgleichen, um Daten von einer Datei in eine andere zu kopieren?

Wie kann ich die Bedingung in einer Funktion mit Rückruf aktualisieren, ohne eval() zu verwenden?

Wie kann ich eine Datei öffnen, lesen, schließen, aktualisieren, erneut öffnen und lesen, ohne sie in PHP zu aktualisieren?

Git - Wie kann ich eine Datei meines Repos ignorieren, ohne sie aus dem Repository zu entfernen?

Wie kann ich Dateien in R iterativ einlesen und den Inhalt jeder Datei in einer anderen Variablen speichern, ohne Pandas zu verwenden?

Wie erstelle ich eine Datei mit dem Boost-Dateisystem, ohne sie zu öffnen?

Wie kann ich aus einer Datei mehrere Zählungen generieren, ohne sie mehrmals neu zu lesen?

Wie kann ich in derselben .mat-Datei speichern, ohne den Inhalt der Datei zu löschen?

Wie kann ich den Inhalt des Servers aktualisieren, ohne ihn neu zu starten? (node.js)

Wie kann ich mit Laravel Migration den Datentyp einer Spalte ändern und die vorhandenen Daten aktualisieren, um sie an den neuen Datentyp anzupassen, ohne SQL-Rohabfragen zu verwenden?

Wie kann ich eine Datei umbenennen, ohne sie zu überschreiben?

Wie kann ich das Dokument in Mongo DB mit dem .net(c#)-Treiber aktualisieren, ohne Builder zu verwenden?

Wie kann ich eine Zeichenfolge als HTML-Seite interpretieren, ohne die Seite auf dem Server zu erstellen?

Wie kann ich den Inhalt einer Liste mit Daten aus einer anderen Liste aktualisieren?

Wie kann ich Konfigurationsvariablen in einer JSX-Datei verwenden, ohne sie in eine JSX-Datei zu importieren?

Wie kann ich eine Instanz einer Entität mit @GeneratedValue erstellen, um Scheindaten einzufügen, ohne vorhandene Zeilen zu aktualisieren?

Wie kann ich in eine JSON-Datei schreiben, ohne den gesamten Inhalt darin zu löschen?

Wie liste ich den Inhalt einer gz-Datei auf, ohne ihn in Python zu extrahieren?

Wie kann ich die Ergebnisse einer von mir verwendeten Methode analysieren, ohne mit der .py-Datei vertraut zu sein, aus der sie stammt?

Wie binde ich den Text einer TextBox mit dem Inhalt einer Datei?

Wie kann ich die Höhe einer UITextView so einstellen, dass sie genau mit dem abgeschnittenen Inhalt übereinstimmt?

Wie kann ich ein Objekt ändern, ohne die Datei zu aktualisieren?

Wie kann ich in Matplotlib den Inhalt einer Achse löschen, ohne die Achsenbeschriftungen zu löschen?

Wie kann ich den Inhalt ändern, ohne eine Schleife mithilfe einer Keyframe-Animation zu erstellen?

Wie aktualisiere ich Daten auf einer Seite, ohne die Datei vue.js zu aktualisieren?

TOP Liste

  1. 1

    Wie aktualisiere ich ein Feld in einer Raumdatenbank mit einem Repository und einem Ansichtsmodell?

  2. 2

    Wie füge ich mehrere Spalten in einer Spalte mit derselben Tabelle in SQL Server zusammen?

  3. 3

    Wie kann man Gitterquadrate dazu bringen, die Farbe zu ändern?

  4. 4

    Ich kann nicht verstehen, wie man Go-Code in mehreren Dateien kompiliert

  5. 5

    Zählen Sie die Vorkommen jedes Werts in einem Tupel in Python

  6. 6

    Gibt es eine sauberere Möglichkeit, Konstruktorargumente und Instanzeigenschaften einer Klasse in Typescript zu definieren?

  7. 7

    So implementieren Sie Pushwoosh mit ionic 2

  8. 8

    Wie wird der Wert im Dropdown-Menü basierend auf den ausgewählten Daten / IDs angezeigt?

  9. 9

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  10. 10

    Ändern Sie den Knotenpfad in das aktuelle Verzeichnis

  11. 11

    So erstellen Sie ein Array von Objekten aus zwei Arrays von Objekten mit einem gemeinsamen Schlüssel - JavaScript

  12. 12

    Rufen Sie die ID aus der Datagrid-Ansicht ab und zeigen Sie die Daten in Textfeldern einem anderen Formular an

  13. 13

    base js: Wie füge ich einem Objekt eine Eigenschaft auf die 'alte' Weise hinzu?

  14. 14

    Ersetze einen Teil einer Zeichenfolge durch eine Pandas-Spalte als Muster

  15. 15

    Blättern Sie auf Radio Click zur Abschnitts-ID

  16. 16

    CBCentralManager wird nach dem Verbinden neu gestartet

  17. 17

    Scherz, wie man eine Funktion verspottet, die von einer verspotteten Funktion zurückgegeben wird

  18. 18

    django-allauth Empfängersignal zum Hinzufügen einer Gruppenberechtigung zum Benutzer bei der Anmeldung

  19. 19

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  20. 20

    AQL: Teilweise Übereinstimmung in einer Reihe von Zeichenfolgen

  21. 21

    So summieren Sie die Werte zweier Tabellen und gruppieren sie nach Datum

heißlabel

Archiv