當我插入Emp時,任何人都可以修改它。將它命名爲第一次搜索,並且它不檢查其他參數,您是否可以修改此sp以便根據參數進行精確搜索。基於多個參數的搜索字段
--select * from Training_TRNS
--USP_SearchEmployee '','2008-04-18 00:00:00.000','','','','',''
alter Procedure USP_SearchEmployee
@EmpName varchar(100)=null,
@DateFrom varchar(100)=null,
@DateTo varchar(100)=null,
@CourseName varchar(100)=null,
@JobFunction varchar(100)=null,
@Region varchar(100)=null,
@Status varchar(100)=null
AS
BEGIN
if (@EmpName!='' and @EmpName is not null)
BEGIN
select EmpName,convert(varchar,DueDate,101) as DueDate,SpeCourse_ID as CourseName,
EmpJobFunction as JOBFunction,EmpRegion as Region,Status
from Training_TRNS where EmpName like '%'[email protected]+'%'
END
ELSE IF (@CourseName!='' and @CourseName is not null)
BEGIN
select EmpName,convert(varchar,DueDate,101) as DueDate,SpeCourse_ID as CourseName,
EmpJobFunction as JOBFunction,EmpRegion as Region,Status
from Training_TRNS where SpeCourse_ID like '%'[email protected]+'%'
END
ELSE IF (@JobFunction!='' and @JobFunction is not null)
BEGIN
select EmpName,convert(varchar,DueDate,101) as DueDate,SpeCourse_ID as CourseName,
EmpJobFunction as JOBFunction,EmpRegion as Region,Status
from Training_TRNS where EmpJobFunction like '%'[email protected]+'%'
END
ELSE IF (@Region!='' and @Region is not null)
BEGIN
select EmpName,convert(varchar,DueDate,101) as DueDate,SpeCourse_ID as CourseName,
EmpJobFunction as JOBFunction,EmpRegion as Region,Status
from Training_TRNS where EmpRegion like '%'[email protected]+'%'
END
ELSE IF (@Status!='' and @Status is not null)
BEGIN
select EmpName,convert(varchar,DueDate,101) as DueDate,SpeCourse_ID as CourseName,
EmpJobFunction as JOBFunction,EmpRegion as Region,Status
from Training_TRNS where Status like '%'[email protected]+'%'
END
ELSE IF (@DateFrom!='' and @DateFrom is not null)
BEGIN
select EmpName,convert(varchar,DueDate,101) as DueDate,SpeCourse_ID as CourseName,
EmpJobFunction as JOBFunction,EmpRegion as Region,Status
from Training_TRNS where convert(varchar,DueDate,101) like '%'+convert(varchar,@DateFrom,101)+'%'
END
Else
BEGIN
select EmpName,convert(varchar,DueDate,101) as DueDate,SpeCourse_ID as CourseName,
EmpJobFunction as JOBFunction,EmpRegion as Region,Status
from Training_TRNS
END
END
如果我進入EMP名稱和日期不會搜索特定它去第一搜索和檢查EMP名不爲空,我想執行應當同時檢查參數和搜索 select * from tbl where value = parameter and value = parameter2 – 2010-05-01 08:17:45
請發佈一些DDL和一些示例數據。 – 2010-05-01 08:37:36
你能告訴我你的電子郵件ID,所以我可以發送talbe數據和腳本,所以你可以實現搜索 – 2010-05-01 08:51:37