Select * from sys.table_types where user_type_id = TYPE_ID(N'dbo.udt_test');
以上查询会返回数据,但当我尝试查询其中的数据时,它表示dbo.udt_test
不存在?
Select * from dbo.udt_test
https://msdn.microsoft.com/en-us/library/ms131086.aspx
参考上面的链接,select查询显示数据应该没有问题。如果我在这里遗漏了一些明显的东西,我可以知道吗?
答案 0 :(得分:2)
因为dbo.udt_test
是表格类型,而不是物理表格。
在问题中提到的链接中,定义了user defined type
,并将其用作列的数据类型。
您可以创建dbo.udt_test
类型的表变量,并使用该表插入/更新/删除/从中选择数据。
在链接中,您有此代码..
INSERT INTO dbo.Points (PointValue) VALUES (CONVERT(Point, '3,4'));
'Point'在这里输入。你不能说select Point from Sometable
与Select VARCHAR from Sometable
以同样的方式,你不能说SELECT * FROM TABLETYPE