Oracle获取GUID和生成批量插入语句实现方法

 更新时间:2023年08月02日 08:59:51   作者:牛奶咖啡13  
这篇文章主要给大家介绍了关于Oracle获取GUID和生成批量插入语句实现的相关资料,文中通过图文以及示例代码介绍的非常详细,对大家学习或者工作具有一定的参考价值,需要的朋友可以参考下

一、业务需要

在进行系统的日常维护过程中,涉及到指定条件的人员或内容批量插入内容,此时又希望能够快速根据指定条件自动生成对应的插入SQL语句,而不用编写代码;比如:我们需要给菜单权限表中指定菜单节点为【设备报表】的所有人员都添加(名为【设备报警】的菜单)内容。

二、实现思路

①Oracle获取GUID字符串;

②编写指定条件的查询语句;

③编写基础的插入语句;

④结合指定条件的查询语句自动生成带条件的插入语句

三、实现方法

3.1、Oracle获取GUID字符串

--Oracle中获取小写GUID字符串SQL语句
SELECT lower(rawtohex(sys_guid())) GUID  from DUAL;
--Oracle中获取大写GUID字符串SQL语句
SELECT upper(rawtohex(sys_guid())) GUID  from DUAL;

3.2、编写指定条件的查询语句

--查询到【MENUROLE】表中菜单节点为【设备报表】条件下的所有人员SQL语句:
SELECT EMPLOYEE from MENUROLE WHERE NODENAME='设备报表' 

3.3、编写基础的插入语句

--插入语句的语法
INSERT INTO 表名称 ( 字段1, 字段2, 字段3,... )
VALUES ('内容1','内容2','内容3',...);
--比如给【MENUROLE】插入一条菜单信息的SQL语句
INSERT INTO MENUROLE ( GUID, CREATETIME, CREATEEMPLOYEE, NODENAME, PARENTID, NAMESPACE, NODEMENUNAME, EMPLOYEE )
VALUES
	( 'ec65cbc246bac213e0536a0318ac6bbe', TO_DATE( '2022-11-01 22:06:36', 'yyyy-MM-dd hh24:mi:ss'), 'admin','报表1_设备报警','设备报表','MESClient.View.Reports.EquipmentAlarmInfo','1车间设备报警信息','202201061316');

3.4、结合指定条件的查询语句自动生成带条件的插入语句

注意:|| 表示拼接字符 

--获取到菜单权限表中菜单节点为【设备报表】条件下的所有人员都添加一个【1车间设备报警信息】的界面内容的批量插入语句生成
SELECT 'INSERT INTO MENUROLE (GUID, CREATETIME, CREATEEMPLOYEE, NODENAME, PARENTID, NAMESPACE, NODEMENUNAME, EMPLOYEE )
VALUES
	( '''||lower(rawtohex(sys_guid())) ||''', TO_DATE( ''2022-11-01 22:06:36'', ''yyyy-MM-dd hh24:mi:ss''), '''||CREATEEMPLOYEE||''',''报表1_设备报警'',''设备报表'',''MESClient.View.Reports.EquipmentAlarmInfo'',''1车间设备报警信息'','''||EMPLOYEE||''');' from MENUROLE WHERE NODENAME='设备报表';

该语句执行后生成的批量插入菜单内容语句如下:

复制这些生成的语句如下所示:

四、其他方式实现根据查询结果批量插入修改操作

Oracle中实现获取指定表名称批量修改表中的字段类型

https://www.jb51.net/database/29395916j.htm

总结

到此这篇关于Oracle获取GUID和生成批量插入语句实现的文章就介绍到这了,更多相关Oracle获取GUID和批量插入内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Oracle用户密码含有特殊字符导致无法登陆解决方法

    Oracle用户密码含有特殊字符导致无法登陆解决方法

    在客户端上使用sqlplus用普通用户可以登录,但是system以及sys用户均无法登录,提示ORA-12154: TNS: 无法解析指定的连接标识符,本文将提供详细的解决方法,需要了解的朋友可以参考下
    2012-11-11
  • Oracle中rank,over partition函数的使用方法

    Oracle中rank,over partition函数的使用方法

    本文主要介绍Oracle中rank,over partition函数的用法,希望对大家有所帮助。
    2016-05-05
  • Oracle数据库的实例/表空间/用户/表之间关系简单讲解

    Oracle数据库的实例/表空间/用户/表之间关系简单讲解

    这篇文章主要介绍了Oracle数据库的实例/表空间/用户/表之间关系简单讲解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Oracle表空间与权限的深入讲解

    Oracle表空间与权限的深入讲解

    Oracle表空间(tablespaces)是一个逻辑的概念,真正存放数据的是数据文件(data files),下面这篇文章主要给大家介绍了关于Oracle表空间与权限的相关资料,需要的朋友可以参考下
    2021-11-11
  • Oracle多表查询中间表的创建实例教程

    Oracle多表查询中间表的创建实例教程

    这篇文章主要给大家介绍了关于Oracle多表查询中间表的创建的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • ORACLE 常用函数总结(80个)

    ORACLE 常用函数总结(80个)

    ORACLE 常用函数总结(80个),大家可以参考下。
    2009-09-09
  • Oracle 11g服务器安装详细步骤图文详解

    Oracle 11g服务器安装详细步骤图文详解

    Oracle 11g提供了高性能、伸展性、可用性和安全性,并能更方便地在低成本服务器和存储设备组成的网格上运行 ,相对过往版本而言,Oracle 11g具有了与众不同的特性。接下来通过本文给大家介绍Oracle 11g服务器安装详细步骤图文详解,需要的朋友参考下吧
    2017-11-11
  • Oracle中sys和system的区别小结

    Oracle中sys和system的区别小结

    SYS用户具有DBA权限,并且拥有SYS模式,只能通过SYSDBA登陆数据库。是Oracle数据库中权限最高的帐号 SYSTEM具有DBA权限。但没有SYSDBA权限。平常一般用该帐号管理数据库就可以了。
    2009-11-11
  • Oracle 11g数据库详细安装图文教程

    Oracle 11g数据库详细安装图文教程

    这篇文章主要为大家详细介绍了Oracle 11g数据库详细安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • Oracle sql批量插入多条数据的实现

    Oracle sql批量插入多条数据的实现

    这篇文章主要介绍了Oracle sql批量插入多条数据的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07

最新评论