相关疑难解决方法(0)

如何在Oracle上生成版本4(随机)UUID?

这篇博客解释说,sys_guid()每个系统的输出都不是随机的:

http://feuerthoughts.blogspot.de/2006/02/watch-out-for-sequential-oracle-guids.html

不幸的是我必须使用这样的系统.

如何确保获得随机UUID?有可能sys_guid()吗?如果不是如何在Oracle上可靠地获取随机UUID?

oracle uuid

17
推荐指数
4
解决办法
5万
查看次数

使用函数作为Oracle11g中列的默认值

我们正在测试Oracle的工作,并负责在Oracle上构建所有数据库对象(表,过程,触发器等),我们目前使用的是Microsoft SQL Server 2008 R2.我们几乎为所有ID列使用uniqueidentifier.我用这个函数来创建GUID:

CREATE OR REPLACE FUNCTION NEWID RETURN CHAR IS guid CHAR(36) ;
BEGIN
    SELECT SYS_GUID() INTO guid FROM DUAL;
    guid :=
               SUBSTR(guid,  1, 8) ||
        '-' || SUBSTR(guid,  9, 4) ||
        '-' || SUBSTR(guid, 13, 4) ||
        '-' || SUBSTR(guid, 17, 4) ||
        '-' || SUBSTR(guid, 21);
    RETURN guid;
END NEWID;
/
Run Code Online (Sandbox Code Playgroud)

但是现在我无法弄清楚如何在创建表时将它用作列的默认值.这是一个非工作的例子:

CREATE TABLE "NonWorkingExample"
(   
  "ID"                              CHAR(36)      NOT NULL DEFAULT   NEWID(),
  "UnitNumber"                      NUMBER(38)    NOT NULL,
  "StartDateTime"                   TIMESTAMP     NOT NULL,
  "EndDateTime"                     TIMESTAMP     NULL,

  CONSTRAINT PK_RentalAgreements …
Run Code Online (Sandbox Code Playgroud)

sql oracle oracle11g

5
推荐指数
4
解决办法
2万
查看次数

以字符串格式将ORACLE RAW转换为Standard GUID

我试图寻找一个解决方案转换Oracle RAW GUIDString格式为标准GUID格式。我找不到用例的解决方案。这是我要寻找的示例:

ORACLE RAW (String): 9BB2A2B8DF8747B0982F2F1702E1D18B 
Run Code Online (Sandbox Code Playgroud)

需要使用Java代码将其转换为标准或带括号的GUID,

B8A2B29B-87DF-B047-982F-2F1702E1D18B or {B8A2B29B-87DF-B047-982F-2F1702E1D18B} 
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助。

java oracle

5
推荐指数
1
解决办法
3359
查看次数

标签 统计

oracle ×3

java ×1

oracle11g ×1

sql ×1

uuid ×1