SQL 2005修改数据库表的创建时间

来源:互联网 发布:java runnable thread 编辑:程序博客网 时间:2024/04/29 05:04

参考文章:http://www.w3school.com.cn/sql/sql_select_into.asp

---------------------------------------------------------------------------------------------------------------

为什么要修改数据库表的创建时间?因为有时候我们要用别人的数据库,又不想

被老师发现哈。众所周知,SQL2005及其以后的版本数据库,已经不支持直接修改

数据库表的创建时间了,当然查看创建时间还是可以的,这如何是好呢?我在网上

查了很久,也没发现什么好的方法,真是气愤。

---------------------------------------------------------------------------------------------------------------

既然不支持直接修改,我们就曲线救国吧,我们用select   into语句创建表的一个副本,

这个表的副本的创建时间就是当前时间了,然后我们把原来的表删除,把新表的名称

改成和原来的一样,不就可以间接修改表的创建时间了吗?哈哈,说干就干。

------------------------------------------------------------------------------------------------------------------------

友情提醒:在进行以下操作前,建议先备份一下数据库,以免出意外,别说我没提醒你哈。

----------------------------------------------------------------------------------------------------------------------

先看一下我的数据库有三张表,我以修改表【GeShou】为例子,其它的照搬即可:


------------------------------------------------------------------------------------------------------------------------------------

1.先查看一下表【GeShou】的创建时间:

select 
name 表名,
crdate 创建时间,
refdate 保留时间
from sysobjects 
where 
name='GeShou' and xtype ='U' --U表示用户表 

//结果如下图所示,好家伙,竟然是2008年创建的。


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2.创建表的副本:

--创建表GeShou的副本
select * into GeShou2 from GeShou

DROP TABLE GeShou --删除旧表

--将表的副本的名字改为原来表的名字
EXEC sp_rename GeShou2,GeShou


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

3.查看新表的创建时间:

select 
name 表名,
crdate 创建时间,
refdate 保留时间
from sysobjects 
where 
name='GeShou2' and xtype ='U' --U表示用户表 

//结果截图如下,注:新表的名字我在这里没有更改,请根据实际情况进行更改。


-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

4.经过试验,使用这种方法,不能将旧表的主键设置给拷贝过来,所以请手动设置新表的主键,

有外键的话,也别忘了设计哈。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

5.如果我们想要吧表复制到另一个数据库中,如何做呢?SQL语句如下:

select * into 
[KTV2].[dbo].[GeShou]
from GeShou   --把表GeShou复制到数据库KTV2中,新表的名字也是GeShou

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


您的十分满意是我追求的宗旨。

您的一点建议是我后续的动力。






原创粉丝点击