参见英文答案 >
How to check existence of user-define table type in SQL Server 2008?5个
我目前正在使用sql Server 2014中的T-sql脚本.
我目前正在使用sql Server 2014中的T-sql脚本.
我需要删除用户定义的表类型,但只有它存在,并在删除/删除类型后再次创建它.
我在网上做了一些研究并找到了一个解决方案,遗憾的是,它根本不起作用.
我当前的脚本如下所示:
IF OBJECT_ID('MySchema.tProjectType','U') IS NOT NULL DROP TYPE [MySchema].[tProjectType]; CREATE TYPE [MySchema].[tProjectType] AS TABLE ( Id INT,IsPrivate BIT,IsPublic BIT );
我的错误信息:
The type ‘MySchema.tProjectType’ already exists,or you do not have permission to create it.
在sql Server 2014中删除之前,您是否知道如何成功检查用户定义的表类型是否存在?
谢谢!
解决方法
请尝试这个,使用type_id而不是object_id
IF type_id('[MySchema].[tProjectType]') IS NOT NULL DROP TYPE [MySchema].[tProjectType]; CREATE TYPE [MySchema].[tProjectType] AS TABLE ( Id INT,IsPublic BIT );