【转】关于SQL Server2005主键和聚簇索引设置的问题
小弟想问个问题,在SQL Server 2005上,建立主键的同时就会默认在主键上设置聚簇索引,那么能否在一个字段上设置主键和唯一性索引(Unique),但是把聚簇索引设置到另一个字段上?
举个简单的例子,比如我有个表叫TableTest,表里有两个字段,id,date,本来id是主键的,我现在想把聚簇索引设置到date字段上。
我先删除主键上的聚簇索引,数据库提示操作不成功,因为受到了主键的约束。
然后我首先在id字段上删除主键,然后在date字段上设置聚簇索引,在id字段上设置唯一索引,再在id上设置主键,则数据库提示将删除date字段上的聚簇索引和id字段上的唯一性索引。
所以想请教一下各位大大,有什么办法能既在id上设置主键,又在date上设置聚簇索引,还是SQL Server就不支持这种设置,谢谢您了
------------------------------------------------------
create table TableTest (
id int identity,
d_date datetime,
primary key nonclustered (id),
unique clustered (d_date)
)
http://www.javaeye.com/problems/14143
相关文档:
select t.OSUSER,t.STATUS,t.LOGON_TIME from v$session t
select t.OSUSER,t.STATUS,t.LOGON_TIME from v$session t where t.OSUSER='admin'
select t.OSUSER,t.STATUS,t.LOGON_TIME from v$session t where t.OSUSER='liuzhaoqing'
select t.OSUSER,t.STATUS,t.LOGON_TIME from v$session t where t.OSUSER='ymx'
sel ......
首先启动SQL SERVER的服务
连接后 在数据库上右键
选择附加。。。
点击 添加。。。
在跳出框内找到你的MDF文件位置 选中 添加进去
相同文件夹内的LDF文件自动加上
完成~~(*^__^*) 嘻嘻……
OK啦 呵呵
初学初学~希望也能帮到其他像我一样的初学者
大家一起加油吧!O(∩_∩)O~ ......
SQL Server DATEDIFF() 函数
定义和用法
DATEDIFF() 函数返回两个日期之间的天数。
语法
DATEDIFF(datepart,startdate,enddate)
startdate 和 enddate 参数是合法的日期表达式。
datepart 参数可以是下列的值:
datepart缩写
年
yy, yyyy
季度
qq, q
月
mm, m
年中的日
dy, y
日
dd, d
周
wk, ww
星期
......
-- 说明:
-- 1. 要删除表 table_name, 须先判断该表是否正被数据库中其它表所引用.
-- 2. 如果未被引用, 可直接 DROP TABLE table_name; 否则必须先删除引用表的约束, 再 DROP TABLE table_name.
-- 3. 另外, table_name 是否正引用其它表的情况无须考虑.
-- 创建主表
CREATE TABLE tParent
......