在Oracle数据库中实现SqlServer数据库中的NewID()函数功能

因为我是使用.NET C#进行开发,所以平时会使用SqlServer的NewID()函数来生成数据的ID。

在C#语言中也可以很方便地使用Guid.NewGuid().ToString()方法来生成格式一样的ID。

现在数据库换成了Oracle,没有类似的函数可以方便地调用,但是Oracle中自带一个函数SYS_GUID()。

返回的是一串二进制的数据,可以通过CAST转换成VARCHAR类型后就是类似SqlServer中NewID()方法生成的ID的样子了。

我们只要再做下手脚,往里面插入几个‘-‘符号就可以了~

做成一个函数吧,这样就方便调用了:

CREATE OR REPLACE FUNCTION NEWID
RETURN VARCHAR2 IS
    GUID VARCHAR2(32);
BEGIN
    GUID:=SYS_GUID();
    RETURN ‘{‘
        ||SUBSTR(GUID,1,8)
        ||‘-‘||SUBSTR(GUID,9,4)
        ||‘-‘||SUBSTR(GUID,13,4)
        ||‘-‘||SUBSTR(GUID,17,4)
        ||‘-‘||SUBSTR(GUID,21,12)
        ||‘}‘;
END NEWID;

然后就可以像在SqlServer中一样用了:

SELECT NEWID() AS ID FROM DUAL
--返回结果是类似这样的值:{1B869DEE-BF1A-0D8C-E050-BD0A9E806700}
时间: 2024-12-23 10:32:29

在Oracle数据库中实现SqlServer数据库中的NewID()函数功能的相关文章

js中访问SqlServer数据库

1 <script language="JavaScript"> 2 // 创建数据库对象 3 var objdbConn = new ActiveXObject("ADODB.Connection"); 4 // DSN字符串 5 var strdsn = "Driver={SQL Server};SERVER=127.0.0.1;UID=sa;PWD=sa;DATABASE=coa"; 6 // 打开数据源 7 objdbConn

C#连接Access数据库,C#连接Excel数据库,C#连接SqlServer数据库,C#连接Mysql数据库总结

大二下学期写的了,如今毕业一个月了,整理整理 额,以前写的好幼稚,只有自己明白了,网上一大堆,大概的意思说下吧 MySQL========================================= http://user.qzone.qq.com/652768664/blog/1347859952 连接mysql需要安装mysql,在mysql的C盘安装目录有一个连接 lib,将改lib添加引用用项目OK; static void Main(string[] args) { List<s

java简单的数据库查询(SQLServer数据库)

1.数据库链接类 1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.SQLException; 4 5 public class DBHelper { 6 /** 7 * 获取数据库链接 8 * 9 * @return 数据库链接 10 */ 11 public static Connection getConnection() { 12 Connection conn = null;

Go语言中查询SqlServer数据库

一.Go语言中查询MsSQL数据库: // main.go package main import ( "database/sql" "fmt" "log" "time" _ "github.com/denisenkom/go-mssqldb" ) func main() { var isdebug = true var server = "localhost" var port = 1

WindowsServer --------- 在服务器中安装sqlserver 数据库

数据库文件可能比较大可以通过盘符映射来进行传递,就是时间比较慢 方法,上一片就是介绍如何进行传递    点击这个连接 安装sqlserver 2014 数据库 要是没有密钥可以试试这个 一般  .Net 项目都是使用sqlServer 数据库,,基本上都是默认点就行 注意:2014可以不用默认就行 给sa设定一个密码用于软件与数据库进行连接 注意密码要记录下来   因为需要设计的比较复杂 添加当前用户就行 按照你的需求进行选择就行也可以直接点击下一步 添加当前用户  ,点击下一步就行 起个名字就

oracle直接读写ms sqlserver数据库(一)如何下载oracle database gateway for sqlserver

想从Oracle实时同步数据到Ms Sqlserver,需要在Oracle里面直连Sqlserver进行数据的读写,可以在Oracle服务器上安装oracle database gateway for sqlserver组件,关于如何安装此组件,网上找不到详细资料,特将我的安装过程记录下来分享给需要的网友: 1.Oracle企业版自带了gateway for odbc,但for Sqlserver版并未安装,需要到官网下载.首先打开Oracle官网,进入Oracle 11g下载首页(根据自己的版

AX 中通过SqlServer数据库刷数据

AX 中通过数据库刷csv,或者Excel格式数据.以下以CSV格式的数据为例 1.首先打开 SQL Server 数据库,登陆进入后,选中要导入的数据库右击,然后在右击菜单中点击任务下的导入数据. 2. 进入到导入数据库的向导,继续下一步 3.选择要导入的数据文件后,继续下一步 4.选择目标数据源数据库后,继续下一步 5.预览要导入的数据无误后,继续下一步 6.继续下一步,点击完成,开始生成中间表数据 7.插入成功后,可以看到如下界面提示 生成结束 8.导入成功后,可以去数据库查看下新生成的数

oracle直接读写ms sqlserver数据库(二)配置透明网关

环境说明: 数据库版本:11gR2 透明网关版本:11g 操作系统Windows Server2008_64位 ORACLE_HOME目录:D:\app\Administrator\product\11.2.0\dbhome_1 MS数据库IP:192.168.199.245 数据库:BWONLINE 默认端口:1433 ORACLE数据库IP:172.18.123.113 服务名:db1 默认端口1521 备注:现在安装数据库后安装透明网关,透明网关安装时候的Home目录和数据库的Home目录

数据库系列之SQLServer数据库管理系统

SQL Server 2008 SQL Server 2008是Microsoft公司开发的数据库管理系统 工作方式:采用"请求-应答" 安装要求:硬件(CPU.内存.硬盘).软件(Windows XP Professional SP2及XP版本以上的Windows OS) SQL Server 2008的安装 网上很多 SQL Server 2008的启动 身份验证方式: Windows身份验证:以当前的Windows登录帐户登录到SQL Server. SQL Server身份验证