網站首頁 編程語言 正文
加密函數(shù)?
CREATE OR REPLACE FUNCTION ENCODE_FUNCTION(
IN_CODE VARCHAR DEFAULT NULL
) RETURN VARCHAR AS pragma autonomous_transaction;
CODE VARCHAR(2000);
OUTPARAMS VARCHAR2(2000);
BEGIN
CODE := '密鑰';
select utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(CODE || IN_CODE))) INTO OUTPARAMS from dual;
RETURN OUTPARAMS;
END;
解密函數(shù)?
CREATE OR REPLACE FUNCTION DECODE_FUNCTION(
IN_CODE VARCHAR DEFAULT NULL
) RETURN VARCHAR AS pragma autonomous_transaction;
CODE VARCHAR(2000);
OUTPARAMS VARCHAR2(2000);
BEGIN
CODE := '密鑰';
select substr((select utl_raw.cast_to_varchar2(utl_encode.base64_decode(utl_raw.cast_to_raw(IN_CODE))) from dual), LENGTH(CODE)+1) INTO OUTPARAMS from dual;
RETURN OUTPARAMS;
END;
創(chuàng)建一個更新數(shù)據(jù),更新成功的?
CREATE OR REPLACE FUNCTION WAGE_ENCODE_FUNCTION(
IN_YSNY VARCHAR DEFAULT NULL,
IN_YSBM VARCHAR DEFAULT NULL
) RETURN VARCHAR AS pragma autonomous_transaction;
YSNYVAR VARCHAR(10);
BEGIN
YSNYVAR := NVL(IN_YSNY, to_char(sysdate, 'yyyy-mm'));
UPDATE UF_XYSBZ_FYMX_ZG_ENCODE SET YT = (
SELECT ENCODE_FUNCTION(YT) FROM dual
) WHERE YSNY = YSNYVAR AND TXRBMID = IN_YSBM;
commit;
RETURN '數(shù)據(jù)更新成功';
END;
CREATE
?OR
?REPLACE
?FUNCTION? ? ?創(chuàng)建或替換一個函數(shù)。后面跟函數(shù)名稱
WAGE_ENCODE_FUNCTION? ? ? ? ? ? ? ? ? ? ? ?函數(shù)名稱
IN_YSNY 、IN_YSBM?? 入?yún)?默認值為null
RETURN '數(shù)據(jù)更新成功'; ? ? ? ? ? ? ? 返回值 函數(shù)的返回值
AS
?pragma autonomous_transaction;? ?事物自治,進行更新、刪除、插入操作是要commit的
YSNYVAR := NVL(IN_YSNY, to_char(sysdate, 'yyyy-mm'));??????????????????????? ? 給變量賦值
SELECT ENCODE_FUNCTION(YT) FROM dual? ?調用函數(shù)ENCODE_FUNCTION函數(shù)名
傳入三個參數(shù)(字符串,想要截取的值,截取后第幾個‘下標從0開始’)
create or replace function GetElementFromArrayByIndex(
Liststr in varchar2,
sPlitVal in varchar2,
iPos integer) return varchar2 is
/*
Liststr--傳入將要被分割的字符串
sPlitVal--用來分割的字符串
iPos--獲取分割后的數(shù)組中該位置的元素值
*/
type tt_type is table of varchar2(100) INDEX BY BINARY_INTEGER;
V1 tt_type;
--FieldNames轉化為數(shù)組
TmpStr varchar2(100);
Str varchar2(4000);
j integer;
begin
Str := Liststr;
j := 0;
IF Instr(Liststr, sPlitVal, 1, 1) = 0 THEN
V1(j) := Liststr;
j := j + 1;
else
While Instr(str, sPlitVal, 1, 1) > 0 Loop
TmpStr := Substr(str, 1, Instr(str, sPlitVal, 1, 1) - 1);
V1(j) := TmpStr;
str := SubStr(Str, Instr(str, sPlitVal, 1, 1) + length(sPlitVal), length(str));
j := j + 1;
end loop;
if not str is null then
--將最后一個保存
V1(j) := str;
j := j + 1;
end if;
end if;
if iPos>j-1 or iPos<0 then
return '';
end if;
return V1(ipos);
end;
刪除函數(shù):
DROP FUNCTION 函數(shù)名;
?查看函數(shù)中的sql
SELECT text FROM ALL_SOURCE where TYPE='FUNCTION' AND name LIKE '%函數(shù)名%'
原文鏈接:https://blog.csdn.net/qq_37061571/article/details/125895236
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-11-15 Flutter有無狀態(tài)類與State及生命周期詳細介紹_Android
- 2024-03-23 asp.net web api 用戶身份驗證
- 2022-09-24 opencv實現(xiàn)圖像校正_python
- 2022-08-07 Android?實現(xiàn)自定義折線圖控件_Android
- 2022-09-20 redis的string類型及bitmap介紹_Redis
- 2022-04-27 Django與DRF結合的全局異常處理方案詳解_python
- 2022-10-06 react最流行的生態(tài)替代antdpro搭建輕量級后臺管理_React
- 2021-12-08 Vmware虛擬機設置固定IP地址的方法(?圖文教程)_VMware
- 欄目分類
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支