关于用户定义数据类型长度修改的问题!!!!!!!

hjui 2004-12-09 09:22:43
我定义了一个数据类型,数据库中几十个地方使用,现在要改变类型长度。请问用什么方法修改??

我现在的修改方法是:通过修改系统表 systypes 里对应数据类型的长度,可是有一个问题就是原先引用这个数据类型的地方虽然同样是引用这个数据类型,可是长度没有随着改变而改变,需要再手动改一下,这样很麻烦的。。
现在我通过查询系统表得到引用该数据类型的所有列以及这些列所在的表,如下
columns tables
cl1 tb1
cl2 tb1
cl3 tb2
cl4 tb3
能不能用什么方法实现修改这些列的数据类型????
...全文
85 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
aliren 2004-12-09
  • 打赏
  • 举报
回复
以下是我在用的修改长度的存储过程,你试试。。。

create proc pr_chg_usertype @length int,@type nvarchar(30)
as
set nocount on
update systypes set length=@length where name=@type
update syscolumns
set length=@length
where name in(select b.name from systypes a inner join syscolumns b on a.xusertype=b.xusertype inner join sysobjects c on b.id=c.id and c.xtype='U' where a.name=@type)
and id in(select b.id from systypes a inner join syscolumns b on a.xusertype=b.xusertype inner join sysobjects c on b.id=c.id and c.xtype='U' where a.name=@type)
and xusertype=(select top 1 a.xusertype from systypes a inner join syscolumns b on a.xusertype=b.xusertype inner join sysobjects c on b.id=c.id and c.xtype='U' where a.name=@type)
amdwinter 2004-12-09
  • 打赏
  • 举报
回复
平生第一次

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧