Ich versuche " SELECT COUNT(*) FROM :TableName;
" zu verwenden, dann benutze ich in Java .bind("Tablename","MyTable")
.
Aber das Ergebnis liegt immer in einfachen Anführungszeichen, das ist " SELECT COUNT(*) FROM 'MyTable';
", gibt es eine richtige Art zu binden (vielleicht verwende ich das falsche Wort) etwas wie TableName
zu .sql Datei?
bind
ist nicht für Bezeichner gedacht, sondern für Werte. Table
ist ein Datenbankobjekt und sein Name ist ein Bezeichner zum Verweisen.
Daher müssen Sie die SQL-Abfragezeichenfolge explizit so konstruieren, dass sie den Tabellennamen dynamisch enthält.
Beispiel :
%Vor%Wenn Sie dann die Anzahl oder andere Ergebnisse basierend auf einem Feldwert oder einem Ausdruck filtern möchten, können Sie sie binden.
Beispiel :
%Vor%Sie können sehen, dass Werte für Spalten oder Ausdrücke gebunden sind, aber keine Bezeichner.
Die Funktion, nach der Sie suchen, ist @Define - hier ein Beispiel für die Verwendung:
%Vor%Vergessen Sie nicht, die Abhängigkeit für die Annotation UseStringTemplate3StatementLocator hinzuzufügen
%Vor%