1. 程式人生 > >mysql儲存過程 --遊標的使用 取每行記錄 (多欄位)

mysql儲存過程 --遊標的使用 取每行記錄 (多欄位)

delimiter $

create PROCEDURE phoneDeal()

BEGIN

    DECLARE  id varchar(64);   -- id

    DECLARE  phone1  varchar(16); -- phone

    DECLARE  password1  varchar(32); -- 密碼

    DECLARE  name1 varchar(64);   -- id

    -- 遍歷資料結束標誌

    DECLARE done INT DEFAULT FALSE;

    -- 遊標

    DECLARE cur_account CURSOR FOR select phone,password,name from account_temp;

    -- 將結束標誌繫結到遊標

    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

    

    -- 開啟遊標

    OPEN  cur_account;      

    -- 遍歷

    read_loop: LOOP

            -- 取值 取多個欄位

            FETCH  NEXT from cur_account INTO phone1,password1,name1; 

            IF done THEN

                LEAVE read_loop;

             END IF;

 

        -- 你自己想做的操作

        insert into account(id,phone,password,name) value(UUID(),phone1,password1,CONCAT(name1,'的家長'));

    END LOOP;

 

 

    CLOSE cur_account;

END $


相關推薦

mysql儲存過程 --遊標的使用 記錄 ()

delimiter $ create PROCEDURE phoneDeal() BEGIN DECLARE id varchar(64); -- id DECLARE phone1 varchar(16); -- phone DECLARE password1

mysql儲存過程遊標檢視select結果集

mysql中使用select(或者使用print未嘗試)檢視引數 DELIMITER $ create PROCEDURE myPro() BEGIN    DECLARE  id varchar(64);   -- id     DE

Mysql儲存過程遊標使用

--在windows系統中寫儲存過程時,如果需要使用declare宣告變數,需要新增這個關鍵字,否則會報錯。 delimiter // drop procedure if exists StatisticStore; CREATE PROCEDURE StatisticSto

mysql儲存過程遊標遍歷之while篇

最近業務需要翻閱了很多關於遊標遍歷使用的帖子 總結一下 直接上程式碼吧 IN `bindid_in` char(36) --輸入引數 BEGIN /** 淨值=固定資產原值-累計折舊 累計折舊=月折舊額*已計提月份 月折舊額=(固定資產原價-(固定資產原價*3%的殘值率))/預計使

mysql儲存過程 遊標使用

1.什麼是遊標需求:編寫儲存過程,使用遊標,把uid為偶數的記錄逐一更新使用者名稱。delimiter $$ create procedure testf(IN my_userId varchar(32)) begin declare stopflag int defau

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

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

MySQL儲存過程遊標(cursor)示例

Mysql建立儲存過程,使用遊標Cursor迴圈更新 使用遊標(cursor) 1.宣告遊標 DECLARE cursor_name CURSOR FOR select_statement 這個語句

mysql動態遊標學習(mysql儲存過程遊標)

-- 建立測試表和資料 create table webuser (username varchar(10)); insert into webuser values ('a1'),('a2'),('a3'),('b1'),('b2'),('b3'); commit; -- 建立儲存過程 drop pro

MySQL 儲存過程遊標巢狀,觸發器呼叫儲存過程

#儲存過程 drop procedure if exists update_pointer; CREATE PROCEDURE update_pointer(IN ckindId int) BEGIN #定義變數 DECLARE id int DEFAULT 0;

mysql儲存過程 遊標 迴圈使用 含SQLSTATE mysql異常程式碼彙總大全

錯誤:1201 SQLSTATE: HY000 (ER_MASTER_INFO) 訊息:無法初始化主伺服器資訊結構,在MySQL錯誤日誌中可找到更多錯誤訊息。·     錯誤:1202 SQLSTATE: HY000 (ER_SLAVE_THREAD) 訊息:無法建立從執行緒,請檢查系統資源。·     錯

Mysql儲存過程遊標加迴圈

Mysql的儲存過程是從版本5才開始支援的,所以目前一般使用的都可以用到儲存過程。今天分享下自己對於Mysql儲存過程的認識與瞭解。 一些簡單的呼叫以及語法規則這裡就不在贅述,網上有許多例子。這裡主要說說大家常用的遊標加迴圈的巢狀使用。 首先先介紹迴圈的分類: (1)WHI

mysql儲存過程迴圈修改一條資料

DELIMITER $$ USE `health`$$ DROP PROCEDURE IF EXISTS `repairDiseaseData`$$ CREATE DEFINER=`root`@`%` PROCEDURE `repairDiseaseData`() BEGI

mysql 儲存過程使用遊標執行一條記錄

今天在寫資料遷移的儲存過程發現總會多執行一條記錄修改後記錄如下: DECLARE notfoundroute INT DEFAULT 0; declare route_cursor CURSOR FOR select uid, uteamid, iday, ctitle, ctrip, ct

mysql 儲存過程遊標及逐處理的配合使用

1. 資料準備 +----+------+--------+ | id | name | price1 | +----+------+--------+ | 1 | 大米 | 5 | | 2 | 雞蛋 | 4.5 | | 3 | 蘋果 | 6

MYSQL儲存過程遊標(2)

儲存過程和遊標! 之前修改了表結構,現在要填充內容了, 需求:將已有的資料表內容進行擴充,比如A表現在增加了欄位,內容在B表,將他轉移過來 這裡經過掙扎,最後達成! /*填充batch_course_p

MYSQL儲存過程遊標學習

自己隨便寫了一個統計使用者許可權數量插入對應表的案例 CREATE TABLE IF NOT EXISTS u_user_role_count ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT "表ID", `uid` BIGINT NOT NULL

ORACLE 儲存過程遊標返回

1、過程主體 --儲存過程迴圈 ,SELECT INTO 是隱式遊標只能返回一行 CREATE OR REPLACE PROCEDURE P_LOOP_PR ( P_TIME NUMBER) IS A_OVER NUMBER; A_NAME VARCHAR2(20); BE

MySQL儲存過程從另外兩個表中資料存整合其他資料儲存在一張新的表裡

業務需求: 通過傳入的引數x 從A表拿A.NAME(唯一一條記錄),從B表拿B.ID,B.NAME(多條記錄),儲存至C表。 DROP PROCEDURE IF EXISTS P_AUTO_SCHEDULING; CREATE PROCEDURE P_AUTO_SCHED

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

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

MySQL儲存過程的動態轉列

轉載:http://segmentfault.com/a/1190000004314724?ref=myread MySQL儲存過程中使用動態行轉列 最近做專案關於資料報表處理,然而資料庫儲存格式和報表展現形式不同,需要進行一下行轉列的操作,在做上一個專案的時候也看