For dozens of entities, we have a Select (returns one record with @ID param) and a SelectList (returns all records.. no param passed) stored procedure. E.g...
CREATE PROCEDURE dbo.SelectEmployeeList
AS
SELECT *
FROM Employee
CREATE PROCEDURE dbo.SelectEmployee
@EmployeeID uniqueidentifier
AS
SELECT *
FROM Employee
WHERE @EmployeeID = @EmployeeID
Given the nearly duplicate syntax, I'm considering handling both via a single proc (using dynamic SQL) like this:
CREATE PROCEDURE dbo.SelectEmployee
@EmployeeID uniqueidentifier = null
AS
DECLARE @Sql nvarchar(1000)
SELECT @Sql = 'SELECT * FROM Employee'
IF @EmployeeID IS NOT NULL
SELECT @Sql = @Sql + ' WHERE EmployeeID = ''' + CAST(@EmployeeID as nvarchar(50)) + ''''
EXEC( @Sql)
Does this idea sound good or bad to you Any drawbacks/reasons I shouldn't do it
Thanks,
Ron