0

RS レポートのパラメーターをテーブルに保存するストアド プロシージャがあり、ユーザーが選択したレポートを実行すると、後で取得できるように保存されます。複数選択パラメータに切り替える必要があるまで、すべてうまくいきました。

これは、パラメーターをそのまま格納するためです-

価値、価値、価値

. したがって、取得に関しては、テーブル内の文字列のみが表示されます。私がする必要があるのは、パラメータをテーブルに保存するときにパラメータを分割することです。これを行う関数を手に入れましたが、ストアドプロシージャに実装するのに苦労しています。

savename、para1、para2 を挿入する基本的なストアド プロシージャです。私があまりにも漠然としていないことを願っています!

4

2 に答える 2

0

このように複数の値を分割し、#Table必要な値を保存できます

    CREATE TABLE #Table (Value VARCHAR(MAX))
    DECLARE @Values VARCHAR(MAX) = (select StringStoredValue from TableName)
    SET @Values = 'INSERT INTO #Table SELECT ' + REPLACE(@Values, ',',' UNION SELECT ')
    EXEC(@Values)
    --Here you can do join with #Table and find those values which required
    SELECT * FROM #Table 
    DROP TABLE #Table
于 2013-08-16T09:37:06.467 に答える
0
Declare @N  int
Declare @Temp varchar(max)
Declare @Count int

Declare @Tempdata
(
Id int,
Splitval varchar(max)

)
Insert into @Tempdata
select * from [dbo].[split]('@Parameter',',')

set @Count = select * from @Tempdata

set @N=1
while @N<=@Count
begin
set @Temp=select Splitval from @Tempdata

Insert into Tablename(parameter)
values(@Parameter)

@N=@N+1;
end
于 2014-01-04T07:28:08.247 に答える