2016-10-11 3 views
0

3つのパラメータを持つレポートがあります。問題は、私はそれらのパラメータの1つにデータを入力したいだけです。データが複数のパラメータに存在する場合は、エンドユーザに警告メッセージを表示させたい。その理由は、どのパラメータにデータがあるかによって、結果データをコンパイルするために別の一時表が作成されるためです。複数のエントリが入力された場合、SQL Serverのロックが終了します。 私はSQL 2008です。これをどのように達成できますか?SSRS - データを1つのパラメータに入力できるようにする

enter image description here

...と、ここに私のストアドプロシージャである:ここでは

はSSRSの私のパラメータです。 あなたはでした:パラメータのいずれかに値が含まれている場合は、null値が、コメントに答えること

enter image description here

のように、代わりに2つのパラメータを使用することができ、他の二つのパラメータ

CREATE PROC [dbo].[uspS_SerialNumberLookupReport] @_SalesOrder AS VARCHAR(10) ='', @_AQNum AS VARCHAR(10) ='', @_Serial AS VARCHAR(10) ='' 
AS 


IF OBJECT_ID('tempdb..#SerialNumberLookupReport') IS NOT NULL 
DROP TABLE #SerialNumberLookupReport 

CREATE TABLE #SerialNumberLookupReport 
(Company varchar(1), 
Serial varchar(15), 
StockCode varchar(30), 
Description varchar(50), 
SalesOrder int, 
OrderDate datetime, 
ReqShipDate datetime, 
CustomerPoNumber varchar(10), 
CustomerName varchar(50), 
ShippingInstrs varchar(50), 
ShippingCarrier varchar(50), 
ShippingLink varchar(1000)) 

INSERT INTO #SerialNumberLookupReport 

EXEC uspS_SerialNumberLookupX @[email protected]_SalesOrder, @[email protected]_AQNum, @[email protected]_Serial 

INSERT INTO #SerialNumberLookupReport 

EXEC uspS_SerialNumberLookupE @[email protected]_SalesOrder, @[email protected]_AQNum, @[email protected]_Serial 

SELECT DISTINCT 
    Company 
    ,Serial 
    ,StockCode 
    ,Description 
    ,SalesOrder 
    ,OrderDate 
    ,ReqShipDate 
    ,CustomerPoNumber 
    ,CustomerName 
    ,ShippingInstrs 
    ,ShippingCarrier 
    ,ShippingLink 
FROM #SerialNumberLookupReport 

答えて

2

に渡され、既存のパラメータを次のような変数として使用してください。

create proc some_stored_proc 
(@id_type varchar(30) , @value varchar(50)) 
as 

    declare 
    @SalesOrder varchar(50) null, 
    @Serial varchar(50) null, 
    @AQ varchar(50) null 

    if @id_type = 'Sales Order#' 
    set @SalesOrder = @value 
    else 
    if @id_type = 'Serial#' 
    set @Serial = @value 
    else 
    if @id_type = 'AQ#' 
    set @AQ = @value 
+0

このアプローチのレポートとクエリを編集するにはどうすればよいですか?現在、これらの3つのパラメータを持つprocを使用しています。 – jdidsQAA

+0

私は更新を行いましたが、そのアプローチが効果的かどうかはわかりません。 – Kostya

+0

あなたのご意見ありがとうございます。私はこれを試して残念ながら、私の既存のストアドプロシージャに値を渡すことはできませんでした。 – jdidsQAA

関連する問題