繁体   English   中英

Transact-SQL中是否有等效的typedef?

[英]Is there an equivalent to typedef in Transact-SQL?

有没有办法在T-SQL(SQL Server 2005)中别名数据类型,有点像C typedef? 我希望能够将VARCHAR(20)的别名称为“my_datatype”,这样无论我想在哪里使用VARCHAR(20),我都可以使用my_datatype。

同义词允许您对表执行此类操作,并且对于某些数据类型也有内置的同义词,但是AFAICS无法定义您自己的数据类型同义词。 有人知道有什么不同?

那这个呢

CREATE TYPE  [schema_name.]typename
FROM system_data_type_name [(precision,scale)] [NULL|NOT NULL]

例如

CREATE TYPE CountryCode
FROM char(2) NULL

您正在寻找的是用户定义的数据类型或UDD。

对于SQL Server 2005,您有别名CLR类型。 两者都使用CREATE TYPE

或许创造类型?

对于PostgreSQL,语法有点不同:

CREATE DOMAIN  [schema_name.]new_typename
AS existing_typename [any_constraint];

例如:

CREATE DOMAIN CountryCode
AS char(2);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM