Der REST-Aufruf sendet die branchId und emplId an diese Methode exec-sql-file. Ich übergebe diese als Parameter. Ich bin nicht in der Lage, die SQL-Anweisung auszuführen, wenn ich branch_id = @branchid und empl_id = @emplid überlasse. Aber wenn ich die branch_id = 'BR101' und empl_id = 123456 fest codiere, dann funktioniert es. Irgendwelche Vorschläge, wie man die branch_Id und empl_Id in meine some-statements.sql bekommt?Laden von SQL-Anweisungen aus einer Datei mit clojure.java.jdbc
(defn exec-sql-file
[branchid emplid]
(sql/with-db-connection (db-conn)
(sql/db-do-prepared conn
[branchid emplid (slurp (resource "sql/some-statements.sql"))])))
some-statements.sql hat diese Abfrage
DELETE from customer where branch_id = @branchid and empl_id = @emplid;
ich dies als
(exec-sql-file "BR101" 123456)
von REPL bin Ausführung ich den Code-Schnipsel aus dem unten stehenden Beitrag zu greifen.
Is it possible to patch load SQL statements from a file using clojure.java.jdbc?
Danke für die Antwort Piotrek. Die Datei some-statements.sql enthält auch Funktionen zum Aktualisieren und Einfügen, und die Klausel where ist branchid und emplid für alle SQL-Anweisungen. – Aiswa
@Aiswa, es war mir aus der Frage nicht offensichtlich. Ich habe meine Antwort aktualisiert, um diese Anforderung zu berücksichtigen. –
Ich habe das auf andere Weise versucht. Bitte lassen Sie mich wissen, wenn ich etwas falsch mache. – Aiswa