1. 程式人生 > >利用oracle動態遊標實現動態SQL迴圈遍歷

利用oracle動態遊標實現動態SQL迴圈遍歷

create or replace procedure P_TEST_SQL is
TYPE ref_cursor_type IS REF CURSOR;  --定義一個動態遊標
tablename varchar2(200) default 'ess_client';
v_sql varchar2(1000);
mobile varchar2(15);
usrs ref_cursor_type;
begin
  --使用連線符拼接成一條完整SQL
  v_sql := 'select usrmsisdn from '||tablename||' where rownum < 11';
  --開啟遊標
  open usrs for v_sql ;
  loop
      fetch usrs into mobile; 
      exit when usrs%notfound;
      insert into tmp(usrmsisdn) values(mobile);
  end loop;
  close usrs;
  commit;
end P_TEST_SQL;




相關推薦

利用oracle動態遊標實現動態SQL迴圈

create or replace procedure P_TEST_SQL is TYPE ref_cursor_type IS REF CURSOR; --定義一個動態遊標 tablename varchar2(200) default 'ess_client'; v_sql varchar2(100

Oracle動態遊標實現動態SQL迴圈

動態遊標可以遍歷動態的表, 格式: TYPE 遊標型別 IS REF CURSOR; --定義一個動態遊標 遊標名  遊標型別; 如果查詢的表的資料不同的,動態變化的,這時候可以用動態遊標。 需要注意的是,動態遊標的定義, 在普通儲存過程中:需要放在 is 後面的

Oralce 儲存過程 cursor、type x_cur is ref cursor、sys_refcursor 靜態遊標、強型別 弱型別動態遊標、靜態SQL 動態SQL 結合使用總結

直接上程式碼,使用的開發環境: Oracle Database 11g Release 2(11.2.0.4.0) - Enterprise Edition, PL/SQL Develop 12.0.7,Instantclient_12_2; PL/SQL Develop ->

Springboot中利用aop和註解實現動態資料來源

本篇文章將介紹如何使用AOP和註解來實現動態資料來源. 使用ThreadLocal儲存當前執行緒使用的資料來源的key import org.slf4j.Logger; import org.slf4j.LoggerFactory; /**

mysql儲存過程迴圈sql結果集,並執行動態sql

/* 將其他幾張表資料複製到一張總表中 */ DROP PROCEDURE IF EXISTS sp_customer; CREATE PROCEDURE sp_customer() BEGIN -- 需要執行的SQL語句 DECLARE v_sql_1 VARCH

利用jquery和BootStrap實現動態滾動條效果

在某專案中遇到excel匯入時客戶要求顯示滾動條效果,在此基礎上使用js為其封裝了個進度條類,只需要簡單為其建立個div容器就可輕鬆實現效果,類具體如下: <!DOCTYPE html> <html lang="zh-CN">     <h

SQL Server用遊標迴圈結果集

1.SQL Server中select  和set 都是賦值用的 DECLARE @A1 INT @A2 INT SET @A1=10 WHILE @A1>0 BEGIN SELECT @[email protected] PRINT @[email

Shell for迴圈動態注入引數到hive

假設你要執行一些資料,例如根據經銷商做統計,但是陣列有很多個,你懶得一個個執行,那麼應該怎麼辦? 某某經銷商->L0814 L2592 L0819 L4786 shell的for迴圈基礎語法 #常規遍歷 for i in 1 2 3 4 5

sql】-儲存過程實現迴圈一列資料

前言      專案中要實現前端頁面動態配置行為,每個行為呼叫不同的儲存過程的功能,於是乎小編一頭扎進了儲存過程的海洋中,愈發覺得之前寫的儲存過程算是基礎了。遇到一個問題:查詢到表中一列資料,需要取出每一行資料來執行下一個儲存過程。這可怎麼鬧?別急,小編來給

Mybatis框架:foreach迴圈欄位(為了解決動態表、動態欄位查詢資料)

最近由於需求,需要前端傳遞動態表名,然後根據表名動態查詢欄位,然後對其資料進行處理,匯入空間資料庫。留下腳印,已做標記! 估計這時候會有人想,查詢動態欄位返回值為tableName.*就可以了啊,的確,但是個人原因吧,不太喜歡用*來做為查詢返回欄位,而且用

oracle sql 進行查詢

sql遍歷SELECT * FROM (WITH temptest AS (SELECT LEVEL lv FROM DUAL connect BY LEVEL <= 10) select lv, cnt, gd

第一篇 動態對象屬性名、對象

動態對象 定義 each clas 對象 obj 不變 har 遇到 1、動態對象屬性名    // 對象屬性名和屬性值, 常常遇到通常是屬性值是變動的,名字是不變的 如: var a = ‘33‘; var b= {first: a}; // 屬性名也能動態使用

select下拉選擇框實現迴圈資料庫

  <select class="form-control input-medium" id="organ"> <option value="">所屬部門</option> <c:forEach var="organ"

mysql儲存過程查詢結果迴圈 判斷 賦值 遊標等基本操作

一、首先說下本篇部落格所實現功能的背景和功能是怎樣的:       背景:因為公司專案開始遷移新平臺專案,所以以前的平臺老資料以及訂單資訊需要拆分表,而且需要業務邏輯來分析以前的訂單表,來拆分成另外的幾個新表,包括增加新的流水分析,以及更新其他使用者或者商家的餘額以及對賬

mysql儲存過程+遊標迴圈 判斷 賦值 等例項一

CREATE DEFINER=`admin`@`%` PROCEDURE `updateRecommended`() BEGIN DECLARE my_recommended INT; DECLARE my_id INT; DECLARE inviteRelationStr VARCHAR(10000)

Jquery 動態增加option及獲取值 option相關方法

data裡的資料如下圖: html: <select id="channel_id" name="channel"> </select> js: function ge

隊伍分組統計 (雙重迴圈出來)或 (sql語句查出來

例1 以上查詢語句 1、所有的隊伍人員資訊: select distinct teamname,realname,users.usertype,clothsize,gender,mobile,address,zipcode,team_users.teamid from u

jq實現迴圈樹形結構的CheckBox根據父級選中子級

首先貼一張需要實現是效果圖(這樹形結構用的是easyui的),這效果是用jq實現的,資料是後臺查詢出來,並例項化到前臺,再迴圈遍歷 後臺查詢出來的資料本來是這樣的: 這樣的二維陣列是不夠的,需

SQL Server表的幾種方法

都是 遍歷 lec delet -s rop itl 想要 temp  在數據庫開發過程中,我們經常會碰到要遍歷數據表的情形,一提到遍歷表,我們第一印象可能就想到使用遊標,使用遊標雖然直觀易懂,但是它不符合面向集合操作的原則,而且性能也比面向集合低。當然,從面向集合操作的角

python實現文件夾

問題 dirname 元組 一個 操作 目錄下的文件 exist exists lena python 中os.path模塊用於操作文件或文件夾 os.path.exists(path) 判斷文件路徑是否存在 dir = "c:\windows"if os.path.exi