SQL Server 插入数据时出现分区插入问题

ih99xse1  于 2022-11-21  发布在  其他
关注(0)|答案(1)|浏览(257)

我在Oracle中有一个表ABC,它有分区b100和b200,相应地保存了100和200之类的数据。当我们尝试插入除这些分区之外的数据时,Oracle开发人员会抛出一个错误。
现在,当我们试图在SQL SERVER中实现同样的事情时,除了这些分区值之外的数据也被插入到表中。
在SQL SERVER中,未分区的数据进入PRIMARY文件组或最后一个文件组,这是我们所不希望的

az31mfrm

az31mfrm1#

SQL Server 表 分区 是 本 机 范围 分区 , 不 约束 数据 。 每个 可能 的 分区 列 值 始终 有 一 个 分区 。
使用 CHECK 约束 条件 ( 或者 FOREIGN KEY ) 来 限制 可以 插入 到 表 中 的 值 。 这些 约束 条件 可以 与 分区 边界 相同 , 以便 在 精确 的 值 列表 ( 而 不是 范围 ) 上 有效 地 实施 分区 。

ALTER TABLE dbo.YourPartitionedTable
    ADD CONSTRAINT CK_YourPartitionedTable_YourPartitioningColumn
    CHECK (YourPartitioningColumn IN (100,200));

中 的 每 一 个
RANGE LEFT 分区 函数 的 情况 下 , 最 后 一 个 分区 将 始终 为 空 。 相反 , 在 RANGE RIGHT 分区 函数 的 情况 下 , 第 一 个 分区 将 为 空 。

相关问题