oracle 之存儲過程 begin ...... ; ...... end

来源:https://www.cnblogs.com/heavenTang/archive/2023/06/09/17468647.html
-Advertisement-
Play Games

點擊查看代碼 ``` begin merge into ly_yjs_hxsj.T_XSGL_XSXX_CZRZ rz using ( select a.XS_ID xsid, xh, xm, '02' as bglx,'修改學生:'||xm||':學位操作撤銷學位證書號,原學位證書號:'|| BJ ...


點擊查看代碼
begin

        merge into ly_yjs_hxsj.T_XSGL_XSXX_CZRZ rz
        using ( select a.XS_ID xsid, xh, xm, '02' as bglx,'修改學生:'||xm||':學位操作撤銷學位證書號,原學位證書號:'|| BJYZSBH || '改為:'|| a.JYZSH as bgnr, #{editor} as czrzh,
        #{editor} as czrxm ,'' as czip from (
        <foreach collection="data" item="item" separator="union">
            select #{item.studentId} XS_ID, #{item.studentCompletionNumber,jdbcType=VARCHAR} JYZSH from dual
        </foreach>
        ) a join LY_YJS_HXSJ.T_BYGL_XSBYJG byjg on byjg.XS_ID = a.XS_ID and byjg.BYLXM = '08' and byjg.GDMC is null
        join LY_YJS_HXSJ.T_XSGL_XSXX_XJXX xjxx on xjxx.XS_ID = byjg.XS_ID
        <where>
            <if test=" studentIdOrName != null and studentIdOrName != ''">and (instr(xjxx.XM, #{studentIdOrName}) > 0 or instr(xjxx.XS_ID, #{studentIdOrName}) > 0)</if>
            <if test="studentCultureLevelCode != null and studentCultureLevelCode != ''">and xjxx.PYCCM = #{studentCultureLevelCode}</if>
            <if test="degreeClassify != null and degreeClassify != ''">and xjxx.XWLXM = #{degreeClassify}</if>
            <if test="educationCategory != null and educationCategory != ''">and xjxx.JYLXM = #{educationCategory}</if>
            <if test="studyModeCode != null and studyModeCode != ''">and xjxx.XXFSM = #{studyModeCode}</if>
        </where>
         ) prz on (prz.xsid = 'T_BYGL_XSBYJG')

        when not matched then
        insert  (czrzid, xsid, xh, xm,bglx, bgnr, bgsj, czrzh, czrxm,czip) values(
        sys_guid(),prz.xsid,prz.xh, prz.xm,prz.bglx,prz.bgnr,sysdate,prz.czrzh,prz.czrxm,prz.czip
        );
        merge into LY_YJS_HXSJ.T_XSGL_XSXX_XJXX xjxx using (
            select a.XS_ID, a.JYZSH from (
                <foreach collection="data" item="item" separator="union">
                    select #{item.studentId} XS_ID, #{item.studentCompletionNumber,jdbcType=VARCHAR} JYZSH from dual
                </foreach>
            ) a join LY_YJS_HXSJ.T_BYGL_XSBYJG byjg on byjg.XS_ID = a.XS_ID and byjg.BYLXM = '08' and byjg.GDMC is null
            join LY_YJS_HXSJ.T_XSGL_XSXX_XJXX xjxx on xjxx.XS_ID = byjg.XS_ID
            <where>
                <if test=" studentIdOrName != null and studentIdOrName != ''">and (instr(xjxx.XM, #{studentIdOrName}) > 0 or instr(xjxx.XS_ID, #{studentIdOrName}) > 0)</if>
                <if test="studentCultureLevelCode != null and studentCultureLevelCode != ''">and xjxx.PYCCM = #{studentCultureLevelCode}</if>
                <if test="degreeClassify != null and degreeClassify != ''">and xjxx.XWLXM = #{degreeClassify}</if>
                <if test="educationCategory != null and educationCategory != ''">and xjxx.JYLXM = #{educationCategory}</if>
                <if test="studyModeCode != null and studyModeCode != ''">and xjxx.XXFSM = #{studyModeCode}</if>
            </where>
        ) t on (t.XS_ID = xjxx.XS_ID)
        when matched then update set xjxx.BJYZSBH = t.JYZSH
        ;
        end;

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 大家好,我是 god23bin。今天給大家帶來的是 Linux 命令系列,**每天只需一分鐘,記住一個 Linux 命令不成問題**。今天,我們要介紹的是一個常用且強大的命令:tar。 ...
  • 目錄 一、awk概念 二、awk的工作過程 三、awk字元 四、內置變數 五、getline 六、awk的精準篩選 七、例子演示 八、實驗演示 一、awk概念 1.概念:awk 是一個功能強大的編輯工具,逐行讀取輸入文本,主要作用於文件內容,AWK信息的讀入也是逐行指定的匹配模式進行查找, 對符合條 ...
  • 本篇首先介紹下EXTI的結構,接著介紹外部中斷的相關概念,對STM32的IO外部中斷EXTI有個初步的瞭解,在此基礎上重點圍繞IO外部中斷EXTI的使用展開分析。 ...
  • [TOC](【後端面經-資料庫】MySQL的存儲引擎簡介) # MySQL的存儲引擎 mysql主要有四類存儲引擎,目前主要使用InnoDB作為存儲引擎。 ## 0. 存儲引擎的查看和修改 - 查看當前資料庫的預設存儲引擎 ```sql show variables like 'default_st ...
  • 標準隔離級別 讀未提交、讀已提交、可重覆讀、串列化 串列化 對事務中所有讀寫的數據加上讀鎖、寫鎖、範圍鎖。所以衝突的事務必須同步執行。 //console1 start transaction ; select * from transaction_test where `key`=1; updat ...
  • Hive開啟向量化模式也是hiveSQL優化方法中的一種,可以提升hive查詢速率,也叫hive矢量化。 問題1:那麼什麼是hive向量化模式呢? 問題2:hive向量化什麼情況下可以被使用,或者說它有哪些使用場景呢? 問題3:如何查看hive向量化使用的相關信息? ## 1.什麼是hive向量化模 ...
  • # 日誌分段切分條件 日誌分段文件切分包含以下4個條件,滿足其一即可: 1. 當前日誌分段文件的大小超過了broker端參數 `log.segment.bytes` 配置的值。`log.segment.bytes`參數的預設值為 `1073741824`,即1GB 2. 當前日誌分段中消息的最小時間 ...
  • 摘要:與伙伴一起,共建繁榮開放的GaussDB資料庫新生態。 本文分享自華為雲社區《華為雲新一代分散式資料庫GaussDB,給世界一個更優選擇》,作者:華為雲頭條。 6月7日,在華為全球智慧金融峰會2023上,華為常務董事、華為雲CEO張平安以“一切皆服務,做好金融數字化雲底座和使能器”為主題發表演 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...