sqlserver创建以 ID为主键,createdate和birthday为分区键列的分区表
时间: 2023-12-10 14:38:58 浏览: 129
以下是创建以 ID为主键,createdate和birthday为分区键列的分区表的 SQL Server 语句:
```
CREATE PARTITION FUNCTION PF_Birthday (datetime)
AS RANGE RIGHT FOR VALUES ('1980-01-01', '1990-01-01', '2000-01-01');
CREATE PARTITION SCHEME PS_Birthday
AS PARTITION PF_Birthday
TO (
[PRIMARY],
[Birthday_1980_1990],
[Birthday_1990_2000],
[Birthday_2000_2100]
);
CREATE TABLE [dbo].[PartitionedTable] (
[ID] INT NOT NULL,
[CreateDate] DATETIME NOT NULL,
[Birthday] DATETIME NOT NULL,
[OtherColumn] VARCHAR(50) NOT NULL,
CONSTRAINT [PK_PartitionedTable] PRIMARY KEY CLUSTERED ([ID])
)
ON PS_Birthday (Birthday);
```
上述代码中,首先创建了一个分区函数 `PF_Birthday`,其中使用 `RANGE RIGHT` 语法,指定了分区边界值为 `'1980-01-01'`、`'1990-01-01'` 和 `'2000-01-01'`。接着,创建了一个分区方案 `PS_Birthday`,将分区函数 `PF_Birthday` 应用到 `Birthday` 列,并将分区方案映射到四个文件组上。最后,创建了一个名为 `PartitionedTable` 的分区表,其中 ID 为主键,`CreateDate` 和 `Birthday` 为分区键列。`OtherColumn` 为普通列。`ON PS_Birthday (Birthday)` 语句指定了使用 `PS_Birthday` 方案分区,并将 `Birthday` 列作为分区键列。
阅读全文