[英]Parameter Passing for Stored Procedure
我需要使用存儲過程來獲取記錄的幫助,我需要從存儲過程中傳遞一個參數,但是我需要獲取兩個學期的記錄
Declare @sem varchar(10)
set @sem ='1sem'
例如:從TestType ='1sem'的學生中選擇*
set @sem ='2sem'
select * from student where TestType = '2sem'
set @sem ='dual'
如果我需要同時選擇第一學期和第二學期,那么我只有一個參數,但是如何使用存儲過程來處理它。
Select *
from student
where TestType where?
我該如何實現
select *
from student
where TestType = '1sem' or TestType = '2sem'
您可以嘗試使用“,”(逗號)分隔testtype值
然后更改您的sql:
set @sem = '1sem, 2sem'
set @sql = 'select * from student where testype in ('+@sem+')'
execute sp_executesql @sql
你可以用這樣的東西
DECLARE @sem VARCHAR(10) = '1sem';
select * from student where testype = @sem OR (@sem = 'dual' AND testype IN '1sem','2sem');
您必須將@sem聲明為表並插入記錄
DECLARE @sem TABLE
(
Testype VARCHAR(50),
)
INSERT INTO @sem
select Testype from student where TestType = '1sem' or TestType = '2sem'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.