USE [Elyse_DB] GO /****** Object: Table [people].[duty_functions] Script Date: Fri 02-10-2026 8:29:34 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [people].[duty_functions]( [function_id] [bigint] IDENTITY(1,1) NOT NULL, [mnem] [nvarchar](10) NULL, [name] [nvarchar](50) NOT NULL, [description] [nvarchar](max) NULL, [list_position] [int] NULL, [created] [datetime2](7) NOT NULL, [created_by] [nvarchar](255) NOT NULL, CONSTRAINT [PK_function_list] PRIMARY KEY CLUSTERED ( [function_id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO SET ANSI_PADDING ON GO /****** Object: Index [UN_function_name] Script Date: Fri 02-10-2026 8:29:39 PM ******/ ALTER TABLE [people].[duty_functions] ADD CONSTRAINT [UN_function_name] UNIQUE NONCLUSTERED ( [name] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] GO ALTER TABLE [people].[duty_functions] ADD CONSTRAINT [DF_duty_functions_created] DEFAULT (sysdatetime()) FOR [created] GO ALTER TABLE [people].[duty_functions] ADD CONSTRAINT [DF_duty_functions_created_by] DEFAULT (original_login()) FOR [created_by] GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Name of a function. e.g. ''Production Manager''.' , @level0type=N'SCHEMA',@level0name=N'people', @level1type=N'TABLE',@level1name=N'duty_functions', @level2type=N'COLUMN',@level2name=N'name' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'List position is an integer which allows a list of options in a table to be set in any order. The value is unconstrained and must be set at the application layer.' , @level0type=N'SCHEMA',@level0name=N'people', @level1type=N'TABLE',@level1name=N'duty_functions', @level2type=N'COLUMN',@level2name=N'list_position' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Function name must be unique.' , @level0type=N'SCHEMA',@level0name=N'people', @level1type=N'TABLE',@level1name=N'duty_functions', @level2type=N'CONSTRAINT',@level2name=N'UN_function_name' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This list stores duty functions. e.g. organisational positions or functions such as ''Authoriser of manufacturing SOPs''. COPYRIGHT NOTICE This database schema and stored procedures are protected by copyright. Copyright. Silkwood Software Pty. Ltd. 2023' , @level0type=N'SCHEMA',@level0name=N'people', @level1type=N'TABLE',@level1name=N'duty_functions' GO