2016-04-22 27 views
3

SQL Serverデータベースで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上でうまく動作しますが、apacheメタモデルが列を識別せず、[col2 Type]としてエラーを与えるため、コードで実装できません。 – Geetanjali

+0

列の名前を変更することはできますか?スペースやその他の文字は、実際には列名で使用すべきではありません。 –

関連する問題