Ich habe einen Bericht mit 3 Parametern. Problem ist, ich möchte nur Daten in einen dieser Parameter eingegeben werden. Wenn Daten in mehr als einem Parameter vorhanden sind, möchte ich, dass der Endbenutzer eine Warnmeldung erhält. Der Grund dafür ist, dass abhängig davon, welcher Parameter Daten enthält, eine separate temporäre Tabelle erstellt wird, um Ergebnisdaten zu kompilieren. Wenn mehr als einer eingegeben wird, wird der SQL-Server gesperrt. Ich bin auf SQL 2008. Wie kann ich das erreichen?SSRS - Nur Daten in einen Parameter eingeben
Hier sind meine Parameter in ssrs:
... und hier ist meine gespeicherten proc. Wenn einer der Parameter einen Wert enthält, wird ein Nullwert zu den beiden anderen Parameter übergeben
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
Gute Idee. Wie würde ich meinen Bericht bearbeiten und nach diesem Ansatz fragen? Im Moment verwendet es einen Proc mit diesen 3 Parametern. – jdidsQAA
Ich habe ein Update gemacht, aber ich bin mir nicht sicher, ob dieser Ansatz für Sie funktioniert. – Kostya
Danke für Ihre Eingabe. Ich habe das ausprobiert und es hat leider nicht funktioniert mit der Übergabe von Werten an meine existierende gespeicherte Prozedur. – jdidsQAA