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

MSSQL
SQL Server 2005数据库升级技巧
VB访问SQL Server数据库技术全揭密
sqlserver数据库中统计email类型的sql语句
SQL Server2005SQLCLR代码安全之权限
牢记!SQL Server数据库开发的二十一条军规
SQL中char和varchar的效率分析
让SQL Server为工作负载高峰提前做好准备
利用同义词简化SQL Server 2005开发
sql server日志文件总结及日志满的处理办法
SQL Server2005 SQLCLR代码之CLR安全
MDF文件在SQL Server数据库中恢复技术
SQL Server补丁安装常见问题详解
解决sqlserver2005中文版与vs2005的WebApplicationProject的冲突问题
SQL2000里的数据类型
数据库设计中的14个技巧
SQL Server快速参考
关于MSSQL数据库日志满的快速解决办法
一个Select出一个表中第N条记录的Sql代码
SQL server 数据库定时自动备份小技巧
SQLServer对文件内容全文检索查询

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 106 ::
收藏到网摘: 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