SQL 2012でビューを作成する必要があります。このスクリプトはスタンドアロンとしてSSMSで実行されますが、ビューに変換する必要があります。キーデータこれまでのところ、私たちはCLRの結果を一時テーブルに入れてそこから参加してきました。ビュー内で一時テーブルは使用できないため、代わりにテーブルの変数を使用していますが、宣言部分の周りにエラーが発生しています。私たちは明らかにストアドプロシージャとして実行しようとしましたが、ビューから呼び出すことはできません...任意の提案をいただければ幸いです。SQLビューでの宣言または一時テーブルの使用をお願いします。
これは、作業コード
declare @idList IdList
INSERT INTO @idList SELECT distinct RT_ID FROM [RT]
DECLARE @CLRs TABLE (
RT_ID nvarchar(19)
,rowindex nvarchar(20)
,Exp1 nvarchar(20)
,Exp2 nvarchar(20) )
INSERT INTO @CLRs
SELECT [IDLIST].[id] as RT_ID
,AD.ROWINDEX
,dbo.fnPropercase(Contact) as Exp1
,dbo.fnPropercase(Contact2) as Exp2
from @idList [IDLIST]
LEFT OUTER JOIN [CLR DETAILS](@idList,1) [AD] on [IDLIST].[id] = [AD].RT_ID
INNER JOIN CONTACTS CS on CS.CONTACTS_ID= AD.RT_CONT_ID
SELECT * FROM @CLRs
は明らかにこれは単純化スクリプトですが、意図は
ありがとうを見ることがまだあります。
ここで何かが見えます。 SQLCLR TVFは何をしていますか?本当にSQLCLRですか? '@ idList'はユーザ定義のテーブル型ですが、SQLCLRオブジェクトに渡すことはできないようです。上記のクエリは真に実用的なコードですか、またはパブリックサイトに投稿する目的で変更されていますか?つまり、オブジェクト名やフィールド名のほとんどが無意味なので、これは非常に混乱しやすいコードです。そして実際にオブジェクト名 '[CLR DETAILS]'にスペースがありますか?その場合は、スペースがない場合は作業する方がはるかに簡単なので、削除することを検討する必要があります。 –