IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_SensorsUpdateAll]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[sp_SensorsUpdateAll] 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_SensorsUpdateAll]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_SensorsUpdateAll] AS' END GO ALTER PROCEDURE [dbo].[sp_SensorsUpdateAll] @sensors xml = null ,@errorNumber int output ,@errorMessage nvarchar(250) output AS BEGIN set @errorNumber = 0 set @errorMessage = space(0) if(@sensors is null) begin RAISERROR(15600,-1,-1, 'sp_SensorsUpdateAll') /* Error 1560 - An invalid parameter or option was specified for procedure*/ end else begin SET NOCOUNT ON; declare @sensorsAnalog xml set @sensorsAnalog = (select t.x.query('.') from @sensors.nodes('/Sensors/Analog') t(x)) exec sp_SensorsAnalogUpdateAll @sensorsAnalog,@errorNumber output, @errorMessage output declare @sensorsDigitalIn xml set @sensorsDigitalIn = (select t.x.query('.') from @sensors.nodes('/Sensors/DigitalIn') t(x)) exec sp_SensorsDigitalInUpdateAll @sensorsDigitalIn,@errorNumber output, @errorMessage output declare @sensorsDigitalOut xml set @sensorsDigitalOut = (select t.x.query('.') from @sensors.nodes('/Sensors/DigitalOut') t(x)) exec sp_SensorsDigitalOutUpdateAll @sensorsDigitalOut,@errorNumber output, @errorMessage output declare @sensorsSquib xml set @sensorsSquib = (select t.x.query('.') from @sensors.nodes('/Sensors/Squib') t(x)) exec sp_SensorsSquibUpdateAll @sensorsSquib,@errorNumber output, @errorMessage output end END GO