From c0404b8e70f81f18a631d35c82e21b4e6c5b624b Mon Sep 17 00:00:00 2001 From: HUANGBANGLIN Date: Thu, 6 Nov 2025 09:25:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0sql=E5=9F=B7=E8=A1=8C?= =?UTF-8?q?=E6=96=87=E4=BB=B6=EF=BC=8C=E5=9F=B7=E8=A1=8C=E8=A9=B2=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=B0=B1=E5=8F=AF=E4=BB=A5=E6=AD=A3=E5=B8=B8=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=8E=9B=E5=96=AE=E5=92=8C=E7=A5=9E=E7=A5=96=E7=89=8C?= =?UTF-8?q?=E4=BD=8D=E6=A8=A1=E7=B5=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/SQL/執行此文件.sql | 176 +++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 data/SQL/執行此文件.sql diff --git a/data/SQL/執行此文件.sql b/data/SQL/執行此文件.sql new file mode 100644 index 0000000..a181711 --- /dev/null +++ b/data/SQL/執行此文件.sql @@ -0,0 +1,176 @@ +USE [17168erp_t2] +GO +/****** Object: Table [dbo].[AncestralTabletArea] Script Date: 2025/10/29 下午 01:32:57 ******/ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +CREATE TABLE [dbo].[AncestralTabletArea]( + [AreaId] [int] IDENTITY(1,1) NOT NULL, + [AreaName] [nvarchar](10) NOT NULL, + [AreaCode] [nvarchar](20) NOT NULL, + [ParentAreaId] [int] NULL, + [AreaType] [nvarchar](10) NULL, + [Price] [int] NULL, + [SortOrder] [int] NULL, + [IsDisabled] [bit] NOT NULL, + [Description] [nvarchar](200) NULL, +PRIMARY KEY CLUSTERED +( + [AreaId] 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] +GO +/****** Object: Table [dbo].[AncestralTabletPosition] Script Date: 2025/10/29 下午 01:32:57 ******/ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +CREATE TABLE [dbo].[AncestralTabletPosition]( + [PositionId] [int] IDENTITY(1,1) NOT NULL, + [AreaId] [int] NOT NULL, + [PositionCode] [nvarchar](20) NOT NULL, + [PositionName] [nvarchar](50) NULL, + [Price] [int] NULL, + [StatusCode] [nvarchar](20) NULL, + [Description] [nvarchar](200) NULL, + [RowNo] [int] NULL, + [ColumnNo] [int] NULL, +PRIMARY KEY CLUSTERED +( + [PositionId] 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], + CONSTRAINT [UQ_Position_Area_Code] UNIQUE NONCLUSTERED +( + [AreaId] ASC, + [PositionCode] 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] +GO +/****** Object: Table [dbo].[AncestralTabletPositionRecord] Script Date: 2025/10/29 下午 01:32:57 ******/ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +CREATE TABLE [dbo].[AncestralTabletPositionRecord]( + [RecordId] [int] IDENTITY(1,1) NOT NULL, + [RegistrantCode] [nvarchar](20) NOT NULL, + [NPTitle] [nvarchar](30) NULL, + [NPStandDate] [date] NOT NULL, + [NPYangShang] [nvarchar](20) NULL, + [WPContent] [nvarchar](1000) NULL, + [CreatedAt] [datetime] NOT NULL, + [UpdatedAt] [datetime] NULL, +PRIMARY KEY CLUSTERED +( + [RecordId] 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] +GO +/****** Object: Table [dbo].[AncestralTabletRegistrant] Script Date: 2025/10/29 下午 01:32:57 ******/ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +CREATE TABLE [dbo].[AncestralTabletRegistrant]( + [RegistrantCode] [nvarchar](20) NOT NULL, + [Name] [nvarchar](50) NOT NULL, + [Phone] [nvarchar](50) NULL, + [Address] [nvarchar](60) NULL, + [RegisterDate] [date] NOT NULL, + [Price] [int] NULL, + [PositionId] [int] NULL, + [StartDate] [date] NOT NULL, + [EndDate] [date] NULL, + [IsLongTerm] [bit] NOT NULL, + [IsActive] [bit] NOT NULL, + [CreatedAt] [datetime] NOT NULL, + [UpdatedAt] [datetime] NULL, + [IsEnd] [bit] NOT NULL, +PRIMARY KEY CLUSTERED +( + [RegistrantCode] 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] +GO +/****** Object: Table [dbo].[AncestralTabletStatus] Script Date: 2025/10/29 下午 01:32:57 ******/ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +CREATE TABLE [dbo].[AncestralTabletStatus]( + [StatusCode] [nvarchar](20) NOT NULL, + [StatusName] [nvarchar](20) NOT NULL, + [StatusType] [nvarchar](20) NOT NULL, +PRIMARY KEY CLUSTERED +( + [StatusCode] 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] +GO +ALTER TABLE [dbo].[AncestralTabletArea] ADD DEFAULT ((0)) FOR [IsDisabled] +GO +ALTER TABLE [dbo].[AncestralTabletPositionRecord] ADD DEFAULT (getdate()) FOR [CreatedAt] +GO +ALTER TABLE [dbo].[AncestralTabletRegistrant] ADD DEFAULT ((0)) FOR [IsLongTerm] +GO +ALTER TABLE [dbo].[AncestralTabletRegistrant] ADD DEFAULT ((1)) FOR [IsActive] +GO +ALTER TABLE [dbo].[AncestralTabletRegistrant] ADD DEFAULT (getdate()) FOR [CreatedAt] +GO +ALTER TABLE [dbo].[AncestralTabletRegistrant] ADD DEFAULT ((0)) FOR [IsEnd] +GO +ALTER TABLE [dbo].[AncestralTabletArea] WITH CHECK ADD CONSTRAINT [FK_AncestralTabletArea_Parent] FOREIGN KEY([ParentAreaId]) +REFERENCES [dbo].[AncestralTabletArea] ([AreaId]) +GO +ALTER TABLE [dbo].[AncestralTabletArea] CHECK CONSTRAINT [FK_AncestralTabletArea_Parent] +GO +ALTER TABLE [dbo].[AncestralTabletPosition] WITH CHECK ADD CONSTRAINT [FK_Position_Area] FOREIGN KEY([AreaId]) +REFERENCES [dbo].[AncestralTabletArea] ([AreaId]) +GO +ALTER TABLE [dbo].[AncestralTabletPosition] CHECK CONSTRAINT [FK_Position_Area] +GO +ALTER TABLE [dbo].[AncestralTabletPosition] WITH CHECK ADD CONSTRAINT [FK_Position_Status] FOREIGN KEY([StatusCode]) +REFERENCES [dbo].[AncestralTabletStatus] ([StatusCode]) +GO +ALTER TABLE [dbo].[AncestralTabletPosition] CHECK CONSTRAINT [FK_Position_Status] +GO +ALTER TABLE [dbo].[AncestralTabletPositionRecord] WITH CHECK ADD FOREIGN KEY([RegistrantCode]) +REFERENCES [dbo].[AncestralTabletRegistrant] ([RegistrantCode]) +GO +ALTER TABLE [dbo].[AncestralTabletRegistrant] WITH CHECK ADD CONSTRAINT [FK_Registrant_Position] FOREIGN KEY([PositionId]) +REFERENCES [dbo].[AncestralTabletPosition] ([PositionId]) +GO +ALTER TABLE [dbo].[AncestralTabletRegistrant] CHECK CONSTRAINT [FK_Registrant_Position] +GO + +INSERT [dbo].[AncestralTabletStatus] ([StatusCode], [StatusName], [StatusType]) VALUES (N'available', N'可用', N'Position') +INSERT [dbo].[AncestralTabletStatus] ([StatusCode], [StatusName], [StatusType]) VALUES (N'maintenance', N'維護中', N'Position') +INSERT [dbo].[AncestralTabletStatus] ([StatusCode], [StatusName], [StatusType]) VALUES (N'used', N'已使用', N'Position') +GO +-- 1. 如果不存在 OrderUuid 栏位,则新增 +IF NOT EXISTS ( + SELECT 1 + FROM sys.columns + WHERE Name = N'OrderUuid' + AND Object_ID = Object_ID(N'dbo.GuaDanOrderGuest') +) +BEGIN + ALTER TABLE [dbo].[GuaDanOrderGuest] + ADD [OrderUuid] UNIQUEIDENTIFIER NULL; +END +GO + +-- 2. 如果不存在 FK_GuaDanOrderGuest_Order 外键,则新增 +IF NOT EXISTS ( + SELECT 1 + FROM sys.foreign_keys + WHERE Name = N'FK_GuaDanOrderGuest_Order' + AND parent_object_id = OBJECT_ID(N'dbo.GuaDanOrderGuest') +) +BEGIN + ALTER TABLE [dbo].[GuaDanOrderGuest] + ADD CONSTRAINT [FK_GuaDanOrderGuest_Order] + FOREIGN KEY ([OrderUuid]) REFERENCES [dbo].[GuaDanOrder] ([Uuid]); +END +GO