sql 自定义数据类型修改

/*--如何刷新存储过程

--刷新视图
sp_refreshview
刷新指定视图的元数据。由于视图所依赖的基础对象的更改,视图的持久元数据会过期。


--我想实现对于: 存储过程/触发器/自定义函数 与刷新视图类似的功能

--不知道那位有简单的方法

--*/

--问题提出的原因,看下面的示例:

--创建一个自定义的数据类型
exec sp_addtype 'test','decimal(10,2)'
go

--创建一个存储过程,引用这个自定义类型
create proc p_test
@a test
as
select 结果=@a
go

--调用存储过程
exec p_test 123

/*--测试结果

结果
------------
123.00

(所影响的行数为 1 行)
--*/
go

--修改自定义类型的名称
exec sp_rename 'test','test_bak','USERDATATYPE'
go

--添加一个同名的自定义类型
exec sp_addtype 'test','varchar(10)'
go

--查看存储过程的代码:
exec sp_helptext 'p_test'

/*--测试结果

create proc p_test
@a test
as
select 结果=@a
--*/
go

--调用存储过程
exec p_test '123'

/*--测试结果

结果
------------
123.00

(所影响的行数为 1 行)
--*/
go

--删除测试环境
drop proc p_test
exec sp_droptype 'test'
exec sp_droptype 'test_bak'


/*--上述测试的主要意图是修改自定义类型的定义--*/

相关文档
最新文档