如何检查 SQL Server 2008 中用户定义的表类型是否存在?

新手上路,请多包涵

我有一个用户定义的表类型。我想在使用 OBJECT_ID(name, type) 函数编辑补丁之前检查它的存在。

应该为用户定义的表类型传递 枚举 中的 type 什么?

N'U' 就像用户定义的表不起作用,即 IF OBJECT_ID(N'MyType', N'U') IS NOT NULL

原文由 abatishchev 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 629
1 个回答

您可以查看 sys.types 或使用 TYPE_ID:

 IF TYPE_ID(N'MyType') IS NULL ...

只是一个预防措施:使用 type_id 不会验证该类型是否为 类型——只是该名称的类型存在。否则 gbn 的查询可能会更好。

原文由 user121301 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进