我有一个用户定义的表类型 (UDTT),它已经绑定(bind)了一个存储过程,该存储过程将它用作输入参数。我在 UDTT 结构中犯了一个错误,但我无法更改 UDTT,因此当我尝试删除它时,SSMS 提示它绑定(bind)到存储过程,因此无法删除。有没有办法删除我的UDTT?
谢谢
最佳答案
它在 drop 时是必需的,我通常做的是为自己设置一个遵循此执行的模板脚本:
-- 表构建或类型
if object_id(N'dbo.<tablename>') is null
begin <create table chunk> end
-- 触发掉落
-- UDTT 掉线
-- UDTT 添加
-- 过程添加
然后如果你需要改变一个过程,你只需在那个脚本上寻找它并再次执行脚本。由于过程中没有保存的数据,这解决了类型忽略以及需要处理的重新编译选项。我发现它对开发和测试更有帮助。
https://stackoverflow.com/questions/22496970/