Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
Author |
Topic |
pkuchaliya
Starting Member
49 Posts |
Posted - 2008-09-05 : 08:14:39
|
create table timepass(id varchar(50),age int, salary int,designation varchar(50),department varchar(50))insert into timepassvalues('10001',24, 2500,'Manager','IT')insert into timepassvalues('10002',24, 8900,'accountant','IT')insert into timepassvalues('10003',24, 6500,'peon','admin')insert into timepassvalues('10004',24, 8800,'developer','account')insert into timepassvalues('10005',24, 14500,'sr. developer','hr')insert into timepassvalues('10006',24, 9500,'programmer','IT')hi i have write a procedure in i recieved four parameter@age,@salary,@designation,@departmentuser can search on given parameter and it is not compulsory that he will give all the parameter to search.but if use want to search only on the basis of age , salary then it will search only given criteria and remainder parameter will assign to '0', and if he want to search all condition then it search all.pankaj |
|
khtan
In (Som, Ni, Yak)
17689 Posts |
Posted - 2008-09-05 : 08:22:33
|
you don't need dynamic SQLselect *from timepasswhere ( @age is null or age = @age )and ( @salary is null or salary = @salary ). . . . KH[spoiler]Time is always against us[/spoiler] |
 |
|
TG
Master Smack Fu Yak Hacker
6065 Posts |
Posted - 2008-09-05 : 08:23:50
|
make sure to validate that at least one parameter is passed has a value (unless you want to allow that all rows could be returned), then:WHERE age = isNull(@age, age)AND salary = isNull(@salary, salary)AND desigination = isNull(@designation, designanation)etc...Be One with the OptimizerTG |
 |
|
|
|
|
|
|