2016-04-22 4 views
3

Ich versuche, die Abfrage mit dem Apache-Metamodell in einer SQL Server-Datenbank auszuführen - Wo die Abfrage einen Spaltennamen mit einem Schrägstrich (/) enthält, z. B. ' col4a/col4b‘und Abfrage von Metamodell alsSchrägstrich im Spaltennamen mit falscher Syntax "/"

INSERT INTO dbo."table1" (col1,"col2 Type",col3,col4a/col4b) VALUES ('value1','value2','value3','value4')

erstellt werden, wenn ich diese Anweisung ausführen den Code incorrect syntax near '/' einen Fehler wirft.

Kann jemand mir eine Lösung vorschlagen, um Sonderzeichen wie/in meinem Spaltennamen zu entkommen.

Antwort

3

Der richtige Weg, schlecht benannte Spalten in SQL Server zu behandeln, ist mit eckigen Klammern [].

INSERT INTO dbo.table1 
(
    col1 
    , [col2 Type] 
    , col3 
    , [col4a/col4b] 
) 
VALUES 
(
    'value1' 
    , 'value2' 
    , 'value3' 
    , 'value4' 
) 
+0

SQL-Standard-Anführungszeichen funktionieren normalerweise auch mit SQL Server (möglicherweise muss eine Option aktiviert sein). –

+0

Ich habe es bereits versucht, es funktioniert gut in SQL Server ui, aber ich kann nicht über Code implementieren, weil Apache Metamodell Spalte nicht identifiziert und gibt einen Fehler als [col2 Typ] - keine solche Spalte in der Tabelle. – Geetanjali

+0

Ist es möglich, Ihre Spalten umzubenennen? Leerzeichen und andere Zeichen sollten eigentlich nicht in Spaltennamen verwendet werden. –

Verwandte Themen