小编daM*_*ror的帖子

SQL Server使用架构无法正常工作创建用户定义的表类型

我正在使用以下语句在SQL Server 2008R2/2012上创建用户定义的表类型:

CREATE TYPE [MySchemaName].[MyUserTableType] 
   As Table ( [Id] varchar(20) NOT NULL );
Run Code Online (Sandbox Code Playgroud)

这按预期工作.

我还有一个存储过程,它删除给定Schema的所有关联对象.这是我的用户定义的表类型无法正常工作的地方.我希望这些类型是使用关联的模式创建的.

如果我尝试删除架构,它会抱怨架构与我的用户定义表类型相关联.因此不会被删除.

但是,如果我查询我的数据库中TYPE_TABLE的所有对象,它告诉我我的表类型不属于我的模式.它们属于模式'sys'

SELECT name, schema_id, type_desc 
FROM [TESTDB].SYS.OBJECTS 
WHERE type_desc = 'TYPE_TABLE';

SELECT * FROM sys.schemas;
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?

这是我输出的截图 在此输入图像描述

sql sql-server schema user-defined-types

4
推荐指数
1
解决办法
8624
查看次数

标签 统计

schema ×1

sql ×1

sql-server ×1

user-defined-types ×1