小编Nun*_*o G的帖子

如何在NULL列上创建唯一索引?

我正在使用SQL Server 2005.我想将列中的值限制为唯一,同时允许NULLS.

我当前的解决方案涉及视图上的唯一索引,如下所示:

CREATE VIEW vw_unq WITH SCHEMABINDING AS
    SELECT Column1
      FROM MyTable
     WHERE Column1 IS NOT NULL

CREATE UNIQUE CLUSTERED INDEX unq_idx ON vw_unq (Column1)
Run Code Online (Sandbox Code Playgroud)

有更好的想法吗?

sql sql-server indexing constraints unique

98
推荐指数
3
解决办法
9万
查看次数

如何在sql中对链表进行排序?

我已将链表实现为自引用数据库表:

CREATE TABLE LinkedList(
    Id bigint NOT NULL,
    ParentId bigint NULL,
    SomeData nvarchar(50) NOT NULL) 
Run Code Online (Sandbox Code Playgroud)

其中Id是主键,ParentId是列表中上一个节点的Id.第一个节点有ParentId = NULL.

我现在想要从表中进行SELECT,按照它们应该出现的顺序对行进行排序,作为列表中的节点.

例如:如果表包含行

Id      ParentId  SomeData
24971   NULL      0
38324   24971     1
60088   60089     3
60089   38324     2
61039   61497     5
61497   60088     4
109397  109831    7
109831  61039     6
Run Code Online (Sandbox Code Playgroud)

然后使用标准对其进行排序,结果应该是:

Id      ParentId  SomeData
24971   NULL      0
38324   24971     1
60089   38324     2
60088   60089     3
61497   60088     4
61039   61497     5
109831  61039     6
109397  109831    7
Run Code Online (Sandbox Code Playgroud)

你应该使用SomeData colum作为控件,所以请不要作为SomeData的ORDER …

sql sql-server linked-list

17
推荐指数
4
解决办法
8500
查看次数

标签 统计

sql ×2

sql-server ×2

constraints ×1

indexing ×1

linked-list ×1

unique ×1