2

ここで、stockViewはフルテキストインデックス付きのインデックス付きビューであり、以下のエラーメッセージが表示されます。データベースは、2005年の互換モードで2008年のExpressエンジンで実行されています。CTEでインデックス付きビューをFREETEXTTABLEしようとすると重大なエラーが発生する

コード:

with stockCte (title, grade, price, weighted) 
as 
(
    select sv.[title]     , 
      sv.[grade]     , 
      sv.[price]     , 
      (case when sv.[issue] = @issue and svs.[rank] > 30 
       then svs.[rank] + 100 
       else svs.[rank] 
       end)     weighted 
    from stockView sv 
    inner join freetexttable(stockView, (name), @term) svs 
     on sv.[id] = svs.[key] 
) 
select * from stockCte; 

エラー:

Msg 0, Level 11, State 0, Line 0 
A severe error occurred on the current command. The results, if any, should be discarded. 
Msg 0, Level 20, State 0, Line 0 
A severe error occurred on the current command. The results, if any, should be discarded. 

私が参加し、内側加重列を削除すると、クエリが動作します。どんなアイデアでも、私は迷っています。

+0

私は頭の上から何も見えません。あなたがインナーセレクトを使用するのではなく、これをCTEにした理由は何ですか? –

+0

インナーセレクトは私が始めたばかりで、最終的なセレクトにはCTE経由で公開されるページング機能が含まれています。 – kim3er

+0

「現在のコマンドで重大なエラーが発生しました」と表示された場合は、サーバーが内部のランタイムアサートまたはアクセス違反を起こした可能性が最も高いことを意味します。 LOGフォルダー(sqldump ____。mdmp)にミニダンプが作成されています。このダンプをカスタマーサポートに提出して、調査し助言することができます。 –

答えて

0

私は、CTEではなくテーブル変数を使用しています。

declare @stockTemp table(
    title    nvarchar(100), 
    grade    nvarchar(50), 
    price    money, 
    row     bigint 
); 

insert into @stockTemp 
select sv.[title]     , 
     sv.[grade]     , 
     sv.[price]     , 
     row_number() over (order by (case when sv.[issue] = @issue and svs.[rank] > 30 
              then svs.[rank] + 100 
              else svs.[rank] 
              end) desc, 
             sv.title, 
             sv.grade desc, 
             sv.price asc) 
from stockView sv 
inner join freetexttable(stockView, (*), @term) svs 
    on sv.[id] = svs.[key] 

select * from @stockTemp; 

もっと良い提案があれば教えてください。

0

エラーレベル11はデータベースオブジェクトが見つかりません。 freetextableクエリのselectはselectとして機能しますか?そうであれば、完全なクエリはselect(cte定義なし)として動作します

+0

内部選択は、CTE定義なしでうまく動作し、CTE定義は、freettexttableがビューではなくテーブルを参照するときにうまく機能します。これは、CTEとインデックス付きビューの組み合わせである必要があります。 – kim3er

1

R2でも修正されていませんが、修正プログラムがあります - KB記事#2421014を参照してください。

関連する問題