当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 修改自定义数据类型精度

MSSQL
大内存SQL Server数据库的加速剂
SQL Server视图管理中的四个限制条件
从客户端提升SQL Server数据库性能
影响SQL Server性能的三个关键点
MySQL鲜为人知的几个特殊技巧
最简单删除SQL Server中所有数据的方法
揭秘SQL Server 2008性能和可扩展性
SQL SQL Server 2008中的新日期数据类型
SQL Server 2005中的CLR集成
新手入门:防范SQL注入攻击的新办法
SQL Server 2005常见问题浅析
SQL Server数据库优化经验总结
SQL Server元数据的管理与应用
最新的关键SQL Server漏洞已被微软证实
如何使用SQLServer数据库查询累计值
SQL Server 2008中的新日期数据类型
SQL注入攻击成为新威胁将挑战操作系统安全
并行查询让SQL Server加速运行
SQL Server 2008数据挖掘查询任务
三招解决SQL Server数据库权限冲突

MSSQL 中的 修改自定义数据类型精度


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 123 ::
收藏到网摘: n/a

/*--修改自定义数据类型精度的示例
     自定义数据类型一旦被引用,就不能再修改和删除,如果要修改数据的精度,就非常麻烦,下面的示例演示了如何修改
     假设要修改的自定义变量名为aa
--*/
--1.修改自定义变量类型的名称
exec sp_rename ’aa’,’aa_bak’,’USERDATATYPE’
go
--2.新增自定义变量(按新的精度)
EXEC sp_addtype N’aa’, N’numeric(20,2)’, N’not null’
go
--3.修改表,使用新增的自定义变量
declare @s varchar(8000)
declare tb cursor local 
for select ’alter table [’+object_name(a.id)+’] alter column [’
 +a.name+’] aa’
from syscolumns a join systypes b on a.xusertype=b.xusertype
where b.name=’aa_bak’
open tb
fetch next from tb into @s
while @@fetch_status=0
begin
 exec(@s)
 fetch next from tb into @s
end
close tb
deallocate tb