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 |
srujanavinnakota
Starting Member
34 Posts |
Posted - 2011-04-26 : 16:30:07
|
Can anyone help with Stored Procedure with optional Input Parameters.I have created a procedure as below.CREATE PROCEDURE dbo.Proc_customer @RegionID int@FirstName CHAR(50)@LastName CHAR(50)@CustomerID IntASSELECT * FROM Customer WHERE Customer.RegionID=@RegionID AND Customer.FirstName like @FirstName AND Customer.LastName like @LastName AND Customer.CustomerID like @CustomerID Now I want to execute this procedure in the follwing format.exec Proc_customer 58, '', '', NULL------should return all the customer data with regionID=58exec Proc_customer 58, 'John', '', NULL------should return all the customer data with regionID=58 and FirstName like 'John'exec Proc_customer 58, 'John', 'Steve', NULL------should return all the customer data with regionID=58 and FirstName like 'John' and LastName like 'Steve'exec Proc_customer NULL, '', '', 1234------should return all the customer data with customerID=1234If Pass in the parameters, I need to pull the data for those paramaters, or else I need to bring up all data from Customer Table. |
|
tkizer
Almighty SQL Goddess
38200 Posts |
|
ajthepoolman
Constraint Violating Yak Guru
384 Posts |
Posted - 2011-04-26 : 16:59:16
|
Does something like this help?CREATE PROCEDURE dbo.Proc_customer @RegionID int@FirstName CHAR(50)@LastName CHAR(50)@CustomerID IntASSELECT * FROM Customer WHERE ISNULL(Customer.RegionID, '') LIKE CASE WHEN @RegionID IS NOT NULL THEN @RegionID ELSE ISNULL(Customer.RegionID , '') ENDAND ISNULL(Customer.FirstName, '') LIKE CASE WHEN @FirstName IS NOT NULL THEN @FirstName ELSE ISNULL(Customer.FirstName , '') END AND ISNULL(Customer.LastName, '') LIKE CASE WHEN @LastName IS NOT NULL THEN @LastName ELSE ISNULL(Customer.LastName , '') END AND ISNULL(Customer.CustomerID, '') LIKE CASE WHEN @CustomerID IS NOT NULL THEN @CustomerID ELSE ISNULL(Customer.CustomerID , '') END Hey, it compiles. |
 |
|
srujanavinnakota
Starting Member
34 Posts |
|
srujanavinnakota
Starting Member
34 Posts |
Posted - 2011-04-26 : 17:01:55
|
Thank you. Let me try it. Will let you know.quote: Originally posted by ajthepoolman Does something like this help?CREATE PROCEDURE dbo.Proc_customer @RegionID int@FirstName CHAR(50)@LastName CHAR(50)@CustomerID IntASSELECT * FROM Customer WHERE ISNULL(Customer.RegionID, '') LIKE CASE WHEN @RegionID IS NOT NULL THEN @RegionID ELSE ISNULL(Customer.RegionID , '') ENDAND ISNULL(Customer.FirstName, '') LIKE CASE WHEN @FirstName IS NOT NULL THEN @FirstName ELSE ISNULL(Customer.FirstName , '') END AND ISNULL(Customer.LastName, '') LIKE CASE WHEN @LastName IS NOT NULL THEN @LastName ELSE ISNULL(Customer.LastName , '') END AND ISNULL(Customer.CustomerID, '') LIKE CASE WHEN @CustomerID IS NOT NULL THEN @CustomerID ELSE ISNULL(Customer.CustomerID , '') END Hey, it compiles.
|
 |
|
srujanavinnakota
Starting Member
34 Posts |
Posted - 2011-04-26 : 17:17:59
|
Thanks, it worked. quote: Originally posted by ajthepoolman Does something like this help?CREATE PROCEDURE dbo.Proc_customer @RegionID int@FirstName CHAR(50)@LastName CHAR(50)@CustomerID IntASSELECT * FROM Customer WHERE ISNULL(Customer.RegionID, '') LIKE CASE WHEN @RegionID IS NOT NULL THEN @RegionID ELSE ISNULL(Customer.RegionID , '') ENDAND ISNULL(Customer.FirstName, '') LIKE CASE WHEN @FirstName IS NOT NULL THEN @FirstName ELSE ISNULL(Customer.FirstName , '') END AND ISNULL(Customer.LastName, '') LIKE CASE WHEN @LastName IS NOT NULL THEN @LastName ELSE ISNULL(Customer.LastName , '') END AND ISNULL(Customer.CustomerID, '') LIKE CASE WHEN @CustomerID IS NOT NULL THEN @CustomerID ELSE ISNULL(Customer.CustomerID , '') END Hey, it compiles.
|
 |
|
X002548
Not Just a Number
15586 Posts |
|
ajthepoolman
Constraint Violating Yak Guru
384 Posts |
Posted - 2011-04-27 : 09:04:38
|
quote: Originally posted by X002548 AND!!!!!It is POOL Weather!!!!
AWWWW YYEEEAAAAHHHH!!!!!Hey, it compiles. |
 |
|
|
|
|
|
|