我声明了一个表类型,并在许多存储过程中引用它。
现在我想为该表类型添加一列。
由于sql server不允许改变表类型。我需要删除并重新创建它。但是在删除它时会抛出错误,说它在其他存储过程中被引用。因此不能下降。
如何在不删除存储过程的情况下继续操作?
答案 0 :(得分:0)
编写所有使用表类型的SP。
select o.name, o.type, m.definition
from sys.sql_modules m
join sys.objects o on o.object_id=m.object_id
where m.definition like '%tbl_type%'
最好不要使用显示的定义,只使用名称并使用对象浏览器中的SSMS编写脚本。