方法1.先删除,再重新建立
if exists (select * from dbo.systypes where name = N'dt_ac_area')
exec sp_droptype N'ssn'
GO
setuser --默认是DBO
GO
EXEC sp_addtypeN'dt_ac_area', N'char (3)', N'not null'
GO
方法2.直接通过数据库全部山删除SRX的 User Defined Data Types:
USE master
go
EXEC sp_configure 'allow updates', '1'
go
RECONFIGURE WITH OVERRIDE
go
use t --database name
go
begin transaction
delete systypes where uid=user_id('srx')
if @@rowcount<>0
commit transaction
else
rollback transaction
go
use master
go
EXEC sp_configure 'allow updates', '1'
go
RECONFIGURE WITH OVERRIDE
go
还忘记一点,如果你不想删除,你可以用第二种方法直接更新为DBO:
USE master
go
EXEC sp_configure 'allow updates', '1'
go
RECONFIGURE WITH OVERRIDE
go
use t --database name
go
begin transaction
UPDATE systypes SET UID=1 where uid=user_id('srx') --直接更新
if @@rowcount<>0
commit transaction
else
rollback transaction
go
use master
go
EXEC sp_configure 'allow updates', '1'
go
RECONFIGURE WITH OVERRIDE
go
博客介绍了数据库中用户定义数据类型的操作方法。包括先删除再重新建立的方式,以及直接通过数据库全部删除特定用户定义数据类型的方法。此外,还提及若不想删除,可使用第二种方法将其直接更新为DBO,并给出了相应的SQL代码示例。

505

被折叠的 条评论
为什么被折叠?



