我有一个用户定义的表类型.在使用OBJECT_ID(name, type)函数在补丁中编辑之前,我想判断它是否存在.

对于用户定义的表类型,应该传递enumeration中的哪个type

N'U' like for user defined table不起作用,即IF OBJECT_ID(N'MyType', N'U') IS NOT NULL

推荐答案

你可以在系统中查看.类型或使用类型_ID:

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

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

Sql相关问答推荐

SQL Google Sheets:UNIQUE/DISTINCT和编码查询函数

Postgres JSONB对象筛选

用于动态查询情况的存储过程常识模式

Postgres:对包含数字的字符串列表进行排序

LEFT JOIN不显示计数0我期望的方式

如何嵌套两条SQL语句

有没有办法在Postgres中存储带有时区的时间戳,而不将其转换为UTC

SQL:查询作为子查询或CTE写入的最大和数失败

PostgreSQL-按距离阈值挤压相邻行的性能

TSQL如何为群分配号码

删除所有订单中可用的重复值

根据具有特定值的 ID 创建自定义组

从输出中删除 jsonb_build_object

group by 并根据同表中其他列的某些条件获取 group by 中的某一列值

替换SQL Server XML中多处出现的 node 值

如何在 case 语句中使用聚合?

SQL的左连接在多对多关系情况下使用

雅典娜弄错了操作顺序

从每行中排除最大元素

如何计算每行出现的次数并显示在另一个表中?