2016-04-22 51 views
3

我想在sql服務器數據庫上使用Apache元模型執行插入查詢 - 插入查詢包含列名稱與正斜槓(/)在其中如' col4a/col4b」和查詢將通過元模型。當我執行該語句的代碼拋出錯誤incorrect syntax near '/'創建爲列名正斜槓拋出一個不正確的語法「/」

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

任何人都可以建議我一個解決方案,以逃避特殊字符/ /在我的列名稱。

回答

3

在sql server中處理命名不佳的列的正確方法是使用方括號[]。

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

SQL標準雙引號通常也適用於SQL Server(可能需要啓用選項)。 –

+0

我已經嘗試過了,它可以在sql server ui中正常工作,但是我無法通過代碼實現,因爲apache metamodel沒有識別列並且給出錯誤[col2 Type] - 表中沒有這樣的列。 – Geetanjali

+0

是否可以重新命名你的列?空格和其他字符確實不應該用在列名中。 –