Oracle獲取GUID和生成批量插入語句實現(xiàn)方法
一、業(yè)務需要
在進行系統(tǒng)的日常維護過程中,涉及到指定條件的人員或內(nèi)容批量插入內(nèi)容,此時又希望能夠快速根據(jù)指定條件自動生成對應的插入SQL語句,而不用編寫代碼;比如:我們需要給菜單權(quán)限表中指定菜單節(jié)點為【設(shè)備報表】的所有人員都添加(名為【設(shè)備報警】的菜單)內(nèi)容。
二、實現(xiàn)思路
①Oracle獲取GUID字符串;
②編寫指定條件的查詢語句;
③編寫基礎(chǔ)的插入語句;
④結(jié)合指定條件的查詢語句自動生成帶條件的插入語句
三、實現(xiàn)方法
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】表中菜單節(jié)點為【設(shè)備報表】條件下的所有人員SQL語句: SELECT EMPLOYEE from MENUROLE WHERE NODENAME='設(shè)備報表'
3.3、編寫基礎(chǔ)的插入語句
--插入語句的語法
INSERT INTO 表名稱 ( 字段1, 字段2, 字段3,... )
VALUES ('內(nèi)容1','內(nèi)容2','內(nèi)容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_設(shè)備報警','設(shè)備報表','MESClient.View.Reports.EquipmentAlarmInfo','1車間設(shè)備報警信息','202201061316');3.4、結(jié)合指定條件的查詢語句自動生成帶條件的插入語句
注意:|| 表示拼接字符
--獲取到菜單權(quán)限表中菜單節(jié)點為【設(shè)備報表】條件下的所有人員都添加一個【1車間設(shè)備報警信息】的界面內(nèi)容的批量插入語句生成 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_設(shè)備報警'',''設(shè)備報表'',''MESClient.View.Reports.EquipmentAlarmInfo'',''1車間設(shè)備報警信息'','''||EMPLOYEE||''');' from MENUROLE WHERE NODENAME='設(shè)備報表';
該語句執(zhí)行后生成的批量插入菜單內(nèi)容語句如下:

復制這些生成的語句如下所示:

四、其他方式實現(xiàn)根據(jù)查詢結(jié)果批量插入修改操作
Oracle中實現(xiàn)獲取指定表名稱批量修改表中的字段類型
http://m.fzitv.net/database/29395916j.htm
總結(jié)
到此這篇關(guān)于Oracle獲取GUID和生成批量插入語句實現(xiàn)的文章就介紹到這了,更多相關(guān)Oracle獲取GUID和批量插入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PLSQL Developer連接oracle數(shù)據(jù)庫配置教程
這篇文章主要介紹了PLSQL Developer連接oracle數(shù)據(jù)庫配置步驟,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09
關(guān)于Oracle12C默認用戶名system密碼不正確的解決方案
這篇文章主要介紹了關(guān)于Oracle12C默認用戶名system密碼不正確的解決方案 ,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-10-10
Oracle數(shù)據(jù)庫之PL/SQL使用流程控制語句
這篇文章介紹了Oracle數(shù)據(jù)庫之PL/SQL使用流程控制語句的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05
Oracle DATABASE LINK(DBLINK)創(chuàng)建與刪除方法
這篇文章主要介紹了Oracle DATABASE LINK(DBLINK)創(chuàng)建與刪除方法,需要的朋友可以參考下2016-02-02
Oracle中 lsnrctl命令使用總結(jié)(推薦)
這篇文章主要介紹了Oracle lsnrctl命令使用總結(jié) ,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03

