IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_CustomerDetailsGet]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[sp_CustomerDetailsGet] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_CustomerDetailsGet]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_CustomerDetailsGet] AS' END GO ALTER PROCEDURE [dbo].[sp_CustomerDetailsGet] @Name nvarchar(255) = null AS BEGIN SET NOCOUNT ON; declare @CustomerId int set @CustomerId = dbo.foo_IdGetCustomer(@Name) SELECT [Name] ,[CustomerName] ,[CustomerTestRefNumber] ,[ProjectRefNumber] ,[CustomerOrderNumber] ,[CustomerCostUnit] ,[LocalOnly] ,[LastModified] ,[LastModifiedBy] ,[Version] FROM [dbo].[CustomerDetails] where @Name is null or CustomerId = @CustomerId END GO