HSQLDB 的 MS SQL“唯一标识符”数据类型的替代方案是啥?

Posted

技术标签:

【中文标题】HSQLDB 的 MS SQL“唯一标识符”数据类型的替代方案是啥?【英文标题】:What is alternative of the MS SQL "uniqueidentifier" data type for HSQLDB?HSQLDB 的 MS SQL“唯一标识符”数据类型的替代方案是什么? 【发布时间】:2015-10-21 12:24:11 【问题描述】:

在 MS SQL 中,我有下表和存储过程:

CREATE TABLE tAppointment (
  tickCount          INTEGER,
  lastUpdateTz       VARCHAR(32),
  guid               VARCHAR(250) NOT NULL,
  ...
 PRIMARY KEY (guid));

CREATE PROCEDURE pUpdateAppointmentActive (
    @appointmentGuid    uniqueidentifier,
    @active     nvarchar(64)
)
AS

BEGIN

    UPDATE
    dbo.tAppointment
    SET
    active = @active
    WHERE
    guid = @appointmentGuid

END

那么问题是如何将“uniqueidentifier”类型转换为 HSQLDB 格式?

【问题讨论】:

你使用 SQL Server 并使用 hsqldb 进行测试吗? @lad2025 不,hsqldb 将用作我的应用程序中的嵌入式数据库 Probably a varbinaryuuid() function 填充 为什么 guid 是 sql server 中的 varchar(250)?如果它是应该是数据类型的唯一标识符。如果它将成为主键,则您需要为聚集索引使用不同的列,或者您需要不断地对聚集索引进行碎片整理。 【参考方案1】:

MS SQL Server uniqueidentifier 数据类型对应于 HSQLDB 中的UUID 类型。

【讨论】:

这个答案可能会给我一个死灵法师徽章:-)

以上是关于HSQLDB 的 MS SQL“唯一标识符”数据类型的替代方案是啥?的主要内容,如果未能解决你的问题,请参考以下文章

JPA:如何映射 SQL Server 唯一标识符类型

将 XML 文件导入 SQL Server 时唯一标识符转换失败

sql SQL唯一标识符

iOS核心数据对象的唯一标识符?

加入没有唯一标识符的 SQL

表中具有唯一标识符类型的 cfqueryparam