Files
Fuchs_Intranet/db/dbo.ocms_setItemName.StoredProcedure.sql
T

48 lines
2.9 KiB
Transact-SQL

USE [site_fuchs]
GO
/****** Object: StoredProcedure [dbo].[ocms_setItemName] Script Date: 02.12.2020 21:05:05 ******/
DROP PROCEDURE [dbo].[ocms_setItemName]
GO
/****** Object: StoredProcedure [dbo].[ocms_setItemName] Script Date: 02.12.2020 21:05:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[ocms_setItemName]
@ocms_iid bigint,
@name nvarchar(255)
AS
BEGIN
SET NOCOUNT ON;
IF NOT EXISTS (SELECT * FROM [dbo].[ocms_items] WHERE [ocms_iid] = @ocms_iid)
THROW 61110, 'item does not exist', 1;
IF EXISTS (SELECT * FROM [dbo].[ocms_items] WHERE [ocms_iid] = @ocms_iid AND [name] = 'index')
THROW 61110, 'index cannot be renamed', 1;
IF ISNULL(@name, '') = ''
THROW 61010, 'name missing', 1;
IF EXISTS (SELECT * FROM [dbo].[ocms_items] WHERE [name] = @name AND [ocms_iid] <> @ocms_iid)
THROW 61110, 'name already exists', 1;
DECLARE @OUTPUT TABLE ([ocms_iid] bigint, [name] nvarchar(255));
UPDATE i
SET [name] = @name
,[DateModified] = GETUTCDATE()
OUTPUT inserted.[ocms_iid], inserted.[name]
INTO @OUTPUT
FROM [dbo].[ocms_items] as i
WHERE i.[ocms_iid] = @ocms_iid;
SELECT TOP(1) * FROM @OUTPUT;
END
GO
ALTER AUTHORIZATION ON [dbo].[ocms_setItemName] TO SCHEMA OWNER
GO