2009-08-17 1 views
2

私はOLTPに位置テーブルを持っていますが、それに対してSSISをコーディングしているときにLocationCodeの列名の末尾にスペースがあることがわかりました。SQL Serverの名前付けの末尾にはスペースを使用しませんか?

Create Table Location 
(
    [LocationId] INT IDENTITY (1, 1) 
    [LocationCode ] INT 
) 

LocationCode列名には後続のスペースがあります。

ただし、次のコードが機能します。

SELECT LocationCode 
From Location 

実際には、格納されたプロクシに後続スペースが使用されるいくつかの場所があり、引き続き機能しています。

これはどのように可能ですか? は、末尾の スペースなしオブジェクトと は、末尾のスペースが含まれているオブジェクト名、 店舗名SQL Serverの名前を付けるときに区切り識別子を使用している場合

答えて

0

@Matt Rogishによると、列名の末尾のスペースは他の特殊文字のように扱われません。クエリを解析するときは実際には無視されます(ハイフンやティルダは無視されません)。

私はsubmitted a bugをMicrosoft Connect for SQL Serverに持っています。

5

http://msdn.microsoft.com/en-us/library/ms176027%28SQL.90%29.aspx

P.S.区切られた識別子はどこにでもあります。すべての識別子ではなく、SPARINGLYで使用する必要があります。

+0

@Matt:SSMSでは、私はテーブル名を右クリックして "Script Create New Window"を作成しました - それは後ろにスペースがある[LocationCode]を思いつきました。 –

+0

デリミタを標準の命名規則に従った識別子に対して自動生成する場合は、自由に削除してください。それ以外の場合、ノイズを追加するだけです。D –

+0

(おそらくSSMSのバグです) –

関連する問題