批量修改表结构
我现在有个问题:
我要将某个数据库的所有表中datetime类型的字段,都修改为smalldatetime类型,用数据字典一查,有200多项,我可不想一个一个修改,SQL SERVER 可不可以批量修改表结构呀,急
问题点数:50、回复次数:10Top
1 楼hanmei1221(阿雅)回复于 2006-03-09 08:12:09 得分 0
ffffffTop
2 楼ReViSion(和尚)回复于 2006-03-09 08:31:05 得分 10
哈哈,用游标呀Top
3 楼wudan8057(上善若水)回复于 2006-03-09 09:36:54 得分 20
直接Update
sp_configure 'allow updates',1
RECONFIGURE WITH OVERRIDE
update syscolumns set xtype = 58,xusertype = 58,length = 4
where xtype = 61
sp_configure 'allow updates',0
RECONFIGURE WITH OVERRIDE
Top
4 楼hanmei1221(阿雅)回复于 2006-03-09 15:46:28 得分 0
能解释一下每一句的意义吗
Top
5 楼hanmei1221(阿雅)回复于 2006-03-09 15:51:55 得分 0
我在查询分析器里执行
sp_configure 'allow updates',1
RECONFIGURE WITH OVERRIDE
update syscolumns set xtype = 58,xusertype = 58,length = 4
where xtype = 61
sp_configure 'allow updates',0
RECONFIGURE WITH OVERRIDE
的时候,提示
服务器: 消息 170,级别 15,状态 1,行 7
第 7 行: 'sp_configure' 附近有语法错误。
只执行
update syscolumns set xtype = 58,xusertype = 58,length = 4
where xtype = 61
的时候,提示
服务器: 消息 259,级别 16,状态 2,行 1
未启用对系统目录的特殊更新。系统管理员必须重新配置 SQL Server 以允许这种操作。
这是怎么回事呀
Top
6 楼hanmei1221(阿雅)回复于 2006-03-09 16:18:35 得分 0
改完之后数据库的所有小日期型的数据都丢了,这样不行呀Top
7 楼wudan8057(上善若水)回复于 2006-03-09 16:35:25 得分 10
如果要保留原有的数据,就只能一个个修改表结构或者建立存储过程来进行转换.Top
8 楼hanmei1221(阿雅)回复于 2006-03-13 11:14:29 得分 0
怎样建立存储过程呀Top
9 楼hanmei1221(阿雅)回复于 2006-05-05 18:13:23 得分 0
可以说的详细点吗?Top
10 楼zlp321002(Life Is Good,Let's Shine)回复于 2006-05-05 21:40:46 得分 10
--用微软未公开的存储过程吧!!具体用法网上可以查。(没测试环境)
SP_MsforeachtableTop




