IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_TestSetupObjectMetaDataInsert]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[sp_TestSetupObjectMetaDataInsert] 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_TestSetupObjectMetaDataInsert]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_TestSetupObjectMetaDataInsert] AS' END GO ALTER PROCEDURE [dbo].[sp_TestSetupObjectMetaDataInsert] @TestSetupId int = 0 ,@TestSetupName nvarchar(255) = null ,@ISOTestObject char(1) ,@PropName nvarchar(255) ,@PropValue nvarchar(255) ,@Optional bit ,@Version float ,@new_id int output ,@errorNumber int output ,@errorMessage nvarchar(250) output AS BEGIN set @errorNumber = 0; set @errorMessage = space(0); if(@TestSetupName is null and @TestSetupId = 0) begin RAISERROR(15600,-1,-1, '[sp_TestSetupObjectMetaDataInsert]') /* Error 1560 - An invalid parameter or option was specified for procedure*/ end else begin SET NOCOUNT ON; if (@TestSetupId =0) begin set @TestSetupId = dbo.foo_IdGetTestSetup(@TestSetupName) end INSERT INTO [dbo].[TestSetupObjectMetaData] ([TestSetupId] ,[ISOTestObject] ,[PropName] ,[PropValue] ,[Optional] ,[Version]) VALUES (@TestSetupId ,@ISOTestObject ,@PropName ,@PropValue ,@Optional ,@Version) set @new_id = scope_identity(); end END GO