簡體   English   中英

將值傳遞給存儲過程中的參數

[英]Passing Value to parameter in stored procedure

我有一個大於500的值列表,每次我必須將這些值傳遞給以下存儲過程時。 是否可以動態調用這些值?

RDBMS: SQL Server 2014

下面的一小部分@value示例。

    declare @valuetable table
(
value varchar(50)
)

insert @valuetable

select video union
select audio union
select hayward union
select abott union
select gsk

碼:

DECLARE @value VARCHAR(24) SET @value = 'video'     
DECLARE @DAYS INT SET @DAYS = -30               


SELECT * INTO #XTP1 FROM (                  
SELECT DISTINCT 'START' AS DTT, DATEADD(D,@DAYS,DATEACTIONED) AS DT FROM NEWREPORTS
WHERE value = @value                        
UNION                           
SELECT DISTINCT 'CHANGE' AS DTT, DATEACTIONED AS DT FROM NEWREPORTS
WHERE value = @value                        
)r

謝謝

因此,您需要做的是在#XTP1中添加一列以存儲值名稱。 然后,您可以執行以下操作:

declare @valuetable table
(
value varchar(50)
)

insert @valuetable

select video union
select audio union
select hayward union
select abott union
select gsk

SELECT * INTO #XTP1 FROM (                  
SELECT DISTINCT v.value, 'START' AS DTT, DATEADD(D,@DAYS,DATEACTIONED) AS DT
FROM NEWREPORTS n INNER JOIN @valuetable v ON n.value = v.value                        
UNION                           
SELECT DISTINCT v.value, 'CHANGE' AS DTT, DATEACTIONED AS DT 
FROM NEWREPORTS n INNER JOIN @valuetable v ON n.value = v.value
)r

現在,您可以一次性從#XTP1中檢索所有內容。 您可能需要在ORDER BY中包含“值”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM