假设我有2个文本框,即id和name。如果我传递ID,它应该显示该表中的数据,或者传递名称,它应该显示数据。我只想在一个存储过程中这样做。
Alter proc allview(
@employeefName varchar(30),
@employeelName varchar(30)
)
as
begin
if(@employeelName=null)
begin
select * from employeeTable
where employeefName=@employeefName
end
if(@employeefName=null)
begin
Select * from employeeTable
where employeelName=@employeelName
end
end
答案 0 :(得分:2)
您可以使用
select * from employeeTable
where employeelName=@employeelName OR employeefName=@employeefName
答案 1 :(得分:0)
这将允许您传递名称或ID,并返回相应的名称/ ID。
LD_LIBRARY_PATH
答案 2 :(得分:0)
根据您的要求,我了解以下内容
您的proc具有2个参数 如果将值同时传递给两个参数,则您希望结果基于两个参数,否则仅基于已传递的参数。
在这种情况下,您可以尝试以下逻辑
Alter PROCEDURE allview
(
@employeefName varchar(30),
@employeelName varchar(30)
)
as
begin
select
*
from employeeTable
where
(
(
ISNULL(@employeefName,'')=''
OR
employeefName=@employeefName
)
OR
(
ISNULL(@employeelName,'')=''
OR
employeelName=@employeelName
)
)
end