48 lines
2.9 KiB
Transact-SQL
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
|