Oracle總結之plsql編程(基礎九)

来源:https://www.cnblogs.com/sunshine5683/archive/2019/01/31/10344302.html
-Advertisement-
Play Games

oracle中plsql編程式控制制語句與迴圈語句使用以及具體案例說明 ...


 

原創作品,轉自請註明出處:https://www.cnblogs.com/sunshine5683/p/10344302.html

接著上次總結,繼續今天的總結,今天主要總結plsql中控制語句,如條件語句、迴圈語句等

一、條件語句

plsql中提供了三種條件語句,如:if--then,if--then--else,if--then--elsif--else

1、案例1:

--編寫一個過程,可以通過雇員名稱,判斷工資是否低於3000,如果低於,則將其工資增加10%
create or replace procedure sp_pro20191(spname varchar2) is
v_sal emp.sal%type;
begin
  select sal into v_sal from emp where ename=spname;
  if v_sal<3000 then
    update emp set sal=sal*1.1 where ename=spname;
    end if;
end;

執行過程:


2、調用


下麵可以看到調用之後的變化


二、迴圈語句 

1、loop迴圈

loop是plsql裡面最簡單的迴圈,以loop開頭,以end loop 結束,此迴圈至少會被迴圈一次

案例:

--編寫一個過程,迴圈添加20條記錄到users表
create or replace procedure sp_pro20191(spname varchar2) is
v_num number :=1;
v_pass number :=222;
begin
  loop
    insert into users values(v_num,spname,v_pass);
    exit when v_num=20;
    v_num:=v_num+1;
end loop;
end;

執行過程如下:


調用



2、while迴圈

案例

--編寫一個過程,迴圈添加20條記錄到users表
create or replace procedure sp_pro20191(spname varchar2) is
v_num number :=1;
v_pass number :=222;
begin
  while v_num <10 loop 
    insert into users values(v_num,spname,v_pass);
    v_num:=v_num+1;
end loop;
end;

執行過程


調用



 

可以看到,以上兩種迴圈的不同是,loop迴圈線迴圈再判斷,而while迴圈則是先判斷再迴圈。


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

-Advertisement-
Play Games
更多相關文章
  • 死鎖雜談 當資料庫死鎖時,SqlServer會釋放一個優先順序較低的鎖,讓另一個事務運行;所以,即時去捕捉資料庫死鎖,是挺不容易的。 如果,資料庫死鎖比較長時間,那麼死鎖是可以被捕捉的。 可以用SqlServer活動監視器來查看,哪些進程鎖了資料庫。 首先打開SqlServer活動監視器,然後可以看到 ...
  • 一 環境準備 圖形界面:略 安裝包: linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip 二 安裝ASM-Oracle準備 2.1 用戶名/組建立 2.2 相關目錄創建 附:oracle預設不支持CentOS系統安裝 ...
  • 什麼是redis Redis是一種面向“key-value”類型數據的分散式NoSQL資料庫系統,具有高性能、持久存儲、適應高併發應用場景等優勢。它雖然起步較晚,但發展卻十分迅速。 redis為何需要持久化 由於Redis的數據都存放在記憶體中,如果沒有配置持久化,redis重啟後數據就全丟失了,於是 ...
  • MySQL 事務介紹 標簽(空格分隔): Mysql 事務 [TOC] MySQL事務 ACID 1. 原子性(Atomcity) 一個事務的最小單元,要麼全部成功要麼全部失敗,執行的過程中是不能被打斷或者執行其他操作的。 2. 一致性(Consistent) 事務開始前和結束後,資料庫的完整性約束 ...
  • 話不多說先來看看表結構: 顯而易見 Pid 存放的 Person 的 id ;下麵重點(奇葩需求!!!!) 我需要向表一(Person)里插入幾條數據(...)這時候不會對錶二做任何操作。 需求:查詢表一(Person)條件是表二(Person_Visison)里有沒有表一(Person)的 id ...
  • 一 環境準備 安裝包:linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip 二 安裝Oracle準備 2.1 用戶名/組建立 2.2 相關目錄創建 提示:oracle預設不支持CentOS系統安裝,需要如下修改 2.3 ...
  • 近期的一個項目要求用mysql資料庫,正好系統重裝了,複習下mysql的安裝,哪成想是踩了無數坑啊! 要安裝首先自然是火速進官網下個安裝包(下載地址https://dev.mysql.com/downloads/file/?id=483327),沒註意mysql都8了,上次安裝的好像是5.幾的。下載 ...
  • redis簡介 Redis 是完全開源免費的,遵守BSD協議,是一個高性能的key value資料庫 Redis 與其他 key value 緩存產品有以下三個特點: Redis支持數據的持久化,可以將記憶體中的數據保存在磁碟中,重啟的時候可以再次載入進行使用 Redis不僅僅支持簡單的key val ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...