2011-04-11 24 views
4

ストアドプロシージャがあり、内部にはページングのクエリがあり、これは私のページに応じて一連の結果を返します。SQL Server 2008 SET QUOTED_IDENTIFIER OFFの問題

私は

​​

すべてが正常に動作しているが、私はそれの名前に単一引用符または二重引用符付きの製品を持っている場合、それが結果に表示されません。 SET QUOTED_IDENTIFIERはOFFです。引用符を削除すると動作しますが、再度追加すると表示されません。

ここに私の解決策がありますか?

+2

どのように結果を表示していますか?あなたはSSMSで試しましたか? –

+0

どのようにProductの価値を渡していますか?それはまた変数か、Insert Statementを動的に構築していますか?私はより完全なテーブルスキーマとサンプルクエリを提供することがあなたの質問に答えるのに役立つと思います。 –

+5

情報が不十分 – gbn

答えて

1

場合によっては、indexed viewを呼び出していますか?

インデックス付きビューは、SET QUOTED_IDENTIFIERがONに設定されているかどうかによって異なります。 procは、WITH(NOEXPAND)を使って明示的に使用される場合には逆効果になります。そうしないと、通常のビューとして扱われるため、停止する可能性があります。 article on MSDNを参照してください。

ストアド・プロシージャとトリガ ビューにインデックスをサポートするために必要と 列を計算された6つのSET オプションで動作するように書かなければなりません。クエリオプティマイザは、 ストアドプロシージャによって実行された 、または のSETオプションが正しく設定されていないときに、 トリガであるSELECTステートメントの 列のビューでインデックスを使用しません。格納された プロシージャまたはトリガーの のデータ値が、インデックス付きビュー または計算列に格納されているINSERT、UPDATE、または のDELETE文でエラーが発生します。

関連する問題