Files
DP44/DataPRO_sql/dbo.sp_SettingsUpdateInsert.StoredProcedure.sql
2026-04-17 14:55:32 -04:00

83 lines
3.3 KiB
Transact-SQL
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_SettingsUpdateInsert]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[sp_SettingsUpdateInsert]
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_SettingsUpdateInsert]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_SettingsUpdateInsert] AS'
END
GO
ALTER PROCEDURE [dbo].[sp_SettingsUpdateInsert]
@PropertyId nvarchar(255)
,@PropertyType int
,@PropertyValue nvarchar(255)
,@UserId nvarchar(255) = null
,@new_id int output
,@errorNumber int output
,@errorMessage nvarchar(250) output
AS
BEGIN
set @errorNumber = 0
set @errorMessage = space(0)
if(@UserId is null)
begin
RAISERROR(15600,-1,-1, '[sp_SettingsUpdateInsert]') /* Error 1560 - An invalid parameter or option was specified for procedure*/
end
else
begin
if(exists(select * from [dbo].[Settings] where UserId = @UserId and PropertyId = @PropertyId))
begin
set @new_id = 0
exec [dbo].[sp_SettingsUpdate] @PropertyId
,@PropertyValue
,@UserId
,@errorNumber output
,@errorMessage output
end
else
begin
exec [dbo].[sp_SettingsInsert] @PropertyId
,@PropertyType
,@PropertyValue
,@UserId
,@new_id output
,@errorNumber output
,@errorMessage output
end
end
END
GO