0
在HSLQDB v 2.3.1中有定义UDT的create type
子句。但似乎没有alter type
子句,就文档而言(如果我尝试此操作,db返回unexpected token
错误)。如何更改HSQLDB中的UDT?
是否可以在HSQLDB中修改/删除UDT?如果例如我最初创建的最佳做法是什么
create type CURRENCY_ID as char(3)
因为我决定要使用ISO代码。但后来我实际上决定将代码存储为整数。在我的数据库中修改架构的最佳方法是什么? (这是一个综合示例,显然我不会在这种情况下使用整数)。
我想我可能会做
alter table inventory alter column ccy set data type int
drop type CURRENCY_ID
create type CURRENCY_ID as int
alter table inventory alter column ccy set data type CURRENCY_ID
,但有没有更好的方式来做到这一点?
看来你实际上是在寻找一个“域”而不是一个新的数据类型:http://hsqldb.org/doc/2.0/guide/databaseobjects-chapt.html#dbc_domain_creation(btw:没有版本3.2.1,你的意思是2.3.1?) –
是的,我想你是对的。任何想法如何影响性能?即如果我'创建类型CURRENCY_ID为int' vs'创建域CURRENCY_ID为int',没有任何额外的约束?我发现的另一个问题是,在涉及处理UDT时,JDBC规范在DOMAIN上不像TYPE那样清晰......例如,请参阅我过去提出的这个:http://sourceforge.net/p/ HSQLDB /臭虫/ 1352 / – Luciano