2012-02-19 17 views
11

クエリの作成が完了したら構文をチェックするオプションはありますか?もしそうなら、どこで見つけることができますか?それは何を検証し、何を検証しないのですか?SQL Server 2008 R2でSQL構文を検証するにはどうすればよいですか?

+0

あなたはどのツールを使って質問を書いていますか? –

+0

@Joachim Isaksson - Microsoft SQL Server管理スタジオ – PeanutsMonkey

答えて

20

Management StudioでParse queryボタンをクリックできます。これは、ツールバー上の青いチェックマーク(あなたはまた、Ctrlキー+ F5を使用することができます)です。

parse.png

これが唯一の加入が有効であることを、構文を検証し、あなたが参照しましたオブジェクトが存在することを確認しません

SELECT foo FROM dbo.table_does_not_exist; 

また、これはパース渡します:

SELECT d.foo 
FROM x.dbo.does_not_exist AS d 
INNER JOIN sys.objects AS s 
ON d.blat = s.bar; 
を延期解像度は、オブジェクトが存在する「リアルのための」時間によってクエリを実行することを前提としているため、など例えば、以下は正しく解析し

sys.objectsは存在しますが、列番号barは含まれていません。

これは本質的に、存在しないオブジェクトを参照するストアドプロシージャをコンパイルするのと同じメカニズムです(実行時には失敗します)。

+0

無効なオブジェクト名とセマンティクスを確認する方法をMicrosoftから提供する予定です。 Outlook/Hotmail/Liveアカウントを持っている人は誰でもこの機能に投票してください。http://connect.microsoft.com/SQLServer/feedback/details/361775/ssms-inconsistent-behavior -of-parse-functionality –

関連する問題