-2

「Microsoft Query」を使用して非常に単純な SQL クエリを実行しようとしています。テーブルに接続して必要な列を選択できますが、実行しようとすると「キーワード 'IS' 付近の構文が正しくありません」というエラー メッセージが表示されます。

自動クエリを使用して以下の SQL ステートメントを取得しましたが、正常に実行されません。私は問題が何であるかを知っていると思います。これは、データベース カタログ名が「IS」であるためです。別の名前の他のデータベースで同じクエリを実行しようとしましたが、正常に動作します。複数のデータベースにアクセスできるため、スクリプトでアクセスしているデータベースを指定する必要があり、それがこの問題の原因です。データベース名の使用を避け、おそらく変数を宣言できる私の状況での回避策はありますか?

SELECT Table1.id, 
Table1.Name, 
Table1.Status,
Table1.DateEntered
FROM IS.dbo.Table1 Table1

また

SELECT * FROM IS.dbo.Table1 Table1 (Same error msg)
4

2 に答える 2

7

ISは SQL の予約済みキーワードです。[]

SELECT * FROM [IS].dbo.Table1 Table1 (Same error msg)

ただし、予約済みのキーワードを使用せずにテーブルに名前を付けるか、テーブル名を常に括弧で囲むことは、良い方法であり、エラーを回避するテクニックでもあります。

于 2013-05-28T20:22:07.077 に答える
3

IS予約済みのキーワードだと思います。角かっこで囲んでみてください。

SELECT Table1.id, Table1.Name, Table1.Status, Table1.DateEntered FROM [IS].dbo.Table1 Table1
于 2013-05-28T20:22:40.563 に答える