小编Raj*_*tel的帖子

对外键引用的表进行分区

我有一张桌子:

CREATE TABLE [dbo].[entry]
(
    [ID] [bigint] IDENTITY(1,1) NOT NULL,
    [EntryDate] [datetime] NOT NULL,
    [createddate] [datetime] NOT NULL,

    CONSTRAINT [PK_Entry_ID] PRIMARY KEY CLUSTERED 
    (
        [ID] ASC
    )
    WITH
    (
        PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
        ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80
    ) ON [PRIMARY]
) ON [PRIMARY];
Run Code Online (Sandbox Code Playgroud)

...其中主键被另一个表引用。为了对这个表进行分区,我已经完成了以下步骤:

 CREATE PARTITION FUNCTION EntryFunc (DATE) 
   AS RANGE LEFT
   FOR VALUES ('2011-01-01')


  CREATE PARTITION SCHEME EntryScheme
    AS PARTITION EntryFunc
    TO ([FileGroup2], [PRIMARY])
Run Code Online (Sandbox Code Playgroud)

以上 2 个步骤成功完成,但是当我对表进行分区时,我无法删除主键聚集索引,因为它被其他表引用。我的动机是根据创建日期对表条目进行分区。

foreign-key sql-server partitioning sql-server-2012

6
推荐指数
1
解决办法
9051
查看次数

需要将字母数字字符更改为下一个字符

我有 2 列NamePassport No.在一个超过 100k 行的表中。

Name   Passport No.
KOP    A245
COS    C990
Run Code Online (Sandbox Code Playgroud)

更新后应该是这个样子。

Name   Passport No.
LPQ    B356
DPT    D001
Run Code Online (Sandbox Code Playgroud)

用数据库中的下一个字符更新当前字符。我不想从表中选择任何东西,我想更新表。

请不要问我为什么。

sql-server

4
推荐指数
1
解决办法
1291
查看次数