IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_MMEPositionsUpdateInsert]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[sp_MMEPositionsUpdateInsert] 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_MMEPositionsUpdateInsert]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_MMEPositionsUpdateInsert] AS' END GO ALTER PROCEDURE [dbo].[sp_MMEPositionsUpdateInsert] @s_GUID uniqueidentifier ,@POSITION nvarchar(50) ,@TEXT_L1 nvarchar(50) ,@TEXT_L2 nvarchar(50) ,@VERSION int ,@DATE datetime ,@REMARKS nvarchar(50) ,@EXPIRED bit ,@SORTKEY nvarchar(50) ,@LAST_CHANGE datetime ,@LAST_CHANGE_TEXT nvarchar(50) ,@HISTORY nvarchar(50) ,@new_id int output ,@errorNumber int output ,@errorMessage nvarchar(250) output AS BEGIN set @errorNumber = 0 set @errorMessage = space(0) if(exists(select [s_GUID] from [dbo].[MMEPositions] where [s_GUID] = @s_GUID)) begin set @new_id = 0 exec dbo.sp_MMEPositionsUpdate @s_GUID ,@POSITION ,@TEXT_L1 ,@TEXT_L2 ,@VERSION ,@DATE ,@REMARKS ,@EXPIRED ,@SORTKEY ,@LAST_CHANGE ,@LAST_CHANGE_TEXT ,@HISTORY ,@errorNumber output ,@errorMessage output end else begin exec dbo.sp_MMEPositionsInsert @s_GUID ,@POSITION ,@TEXT_L1 ,@TEXT_L2 ,@VERSION ,@DATE ,@REMARKS ,@EXPIRED ,@SORTKEY ,@LAST_CHANGE ,@LAST_CHANGE_TEXT ,@HISTORY ,@new_id OUTPUT ,@errorNumber output ,@errorMessage output end END GO