Rumah pangkalan data tutorial mysql 游标,存储过程

游标,存储过程

Jun 07, 2016 pm 02:57 PM
US penyimpanan kursor proses

游标,存储过程 无 DELIMITER $$USE `eloan_tj`$$DROP PROCEDURE IF EXISTS `pro_d_tender_updatecount`$$CREATE DEFINER=`dba`@`%` PROCEDURE `pro_d_tender_updatecount`(IN pownerid INT)BEGIN -- 借款成功次数 i=循环标识符 DECLARE cid,i INT; -- 成功借

游标,存储过程
DELIMITER $$

USE `eloan_tj`$$

DROP PROCEDURE IF EXISTS `pro_d_tender_updatecount`$$

CREATE DEFINER=`dba`@`%` PROCEDURE `pro_d_tender_updatecount`(IN pownerid INT)
BEGIN
        -- 借款成功次数 i=循环标识符
        DECLARE cid,i INT;
        -- 成功借款时间','号分割 2012-03-19,2012-03-19
        DECLARE cdatestr TEXT;
        -- 两次时间
        DECLARE dateS,dateE VARCHAR(50); 
        SET i = 1;     
        -- 借款成功次数,借款成功时间
        SELECT  
        COUNT(DISTINCT FROM_UNIXTIME(cdate,'%Y-%m-%d')),GROUP_CONCAT(DISTINCT FROM_UNIXTIME(cdate,'%Y-%m-%d') ORDER BY cdate)  
        INTO cid,cdatestr FROM d_tender_repayment WHERE borrowerid = pownerid;
        SELECT  GROUP_CONCAT(DISTINCT FROM_UNIXTIME(cdate,'%Y-%m-%d') ORDER BY cdate) gcdate INTO cdatestr FROM d_tender_repayment WHERE borrowerid = pownerid;
     
	WHILE i <= cid DO
	      SELECT SUBSTRING_INDEX(cdatestr,',',i-1) INTO dateS; -- 上次时间
	      SELECT SUBSTRING_INDEX(cdatestr,',',i) INTO dateE; -- 这次时间
	  	      
	      SET dateS = UNIX_TIMESTAMP(SUBSTRING_INDEX(dateS,',',-1));-- 上次','最后时间
	      SET dateE = UNIX_TIMESTAMP(SUBSTRING_INDEX(dateE,',',-1));-- 这次','最后时间
	
	      IF i = 1 THEN
	         UPDATE d_tender SET bidding = 0 WHERE cdate <= dateE  AND ownerid = pownerid;
              ELSE
                 UPDATE d_tender SET bidding = i-1 WHERE cdate >= dateS AND cdate <= dateE AND ownerid = pownerid;
              END IF;           
              SET i= i +1; 
	END WHILE;
	-- 大于最后时间
	UPDATE d_tender SET bidding = cid  WHERE cdate >= dateE  AND ownerid = pownerid;
        -- 未借款成功	
	UPDATE d_tender SET bidding = 0 WHERE bidding  IS NULL;

END$$

DELIMITER ;

CALL pro_d_tender(94)

SELECT ownerid,bidding,FROM_UNIXTIME(cdate,'%Y-%m-%d') FROM   d_tender WHERE ownerid = 94
--  2012-05-17
--  2013-06-25
--  2013-09-04
--  2013-12-11
SELECT  DISTINCT FROM_UNIXTIME(cdate,'%Y-%m-%d') gcdate FROM d_tender_repayment WHERE borrowerid =94;

SELECT ownerid,bidding,FROM_UNIXTIME(cdate,'%Y-%m-%d') FROM   d_tender WHERE ownerid = 416
--  2012-03-19
--  2012-09-19
SELECT  DISTINCT FROM_UNIXTIME(cdate,'%Y-%m-%d') gcdate FROM d_tender_repayment WHERE borrowerid =416;


UPDATE d_tender SET  bidding = NULL 


CALL pro_updatecount


SELECT * FROM d_tender


DROP PROCEDURE IF EXISTS pro_updatecount;
DELIMITER $$
CREATE PROCEDURE pro_updatecount()
BEGIN
	-- 声明一个标志done, 用来判断游标是否遍历完成
	DECLARE done INT DEFAULT 0;

	-- 声明一个变量,用来存放从游标中提取的数据
	-- 特别注意这里的名字不能与由游标中使用的列明相同,否则得到的数据都是NULL
	DECLARE pownerid VARCHAR(50) DEFAULT NULL;

	-- 声明游标对应的 SQL 语句
	DECLARE cur CURSOR FOR
		SELECT ownerid FROM d_tender GROUP BY ownerid;

	-- 在游标循环到最后会将 done 设置为 1
	DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
	-- 执行查询
	OPEN cur;
	-- 遍历游标每一行
	REPEAT
		-- 把一行的信息存放在对应的变量中
		FETCH cur INTO pownerid;
		IF NOT done THEN
			-- 这里就可以使用 pownerid对应的信息了
			CALL pro_d_tender_updatecount(pownerid);
		END IF;
 	UNTIL done END REPEAT;
	CLOSE cur;
END
$$
DELIMITER ;


Salin selepas log masuk
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Huawei akan melancarkan produk storan MED yang inovatif tahun depan: kapasiti rak melebihi 10 PB dan penggunaan kuasa kurang daripada 2 kW Huawei akan melancarkan produk storan MED yang inovatif tahun depan: kapasiti rak melebihi 10 PB dan penggunaan kuasa kurang daripada 2 kW Mar 07, 2024 pm 10:43 PM

Laman web ini melaporkan pada 7 Mac bahawa Dr. Zhou Yuefeng, Presiden Barisan Produk Penyimpanan Data Huawei, baru-baru ini menghadiri persidangan MWC2024 dan secara khusus menunjukkan penyelesaian penyimpanan magnetoelektrik OceanStorArctic generasi baharu yang direka untuk data hangat (WarmData) dan data sejuk (ColdData). Zhou Yuefeng, Presiden barisan produk penyimpanan data Huawei, mengeluarkan satu siri penyelesaian inovatif Sumber imej: Siaran akhbar rasmi Huawei yang dilampirkan pada tapak ini adalah seperti berikut: Kos penyelesaian ini adalah 20% lebih rendah daripada pita magnetik. penggunaan kuasa adalah 90% lebih rendah daripada cakera keras. Menurut bloksandfiles media teknologi asing, jurucakap Huawei turut mendedahkan maklumat tentang penyelesaian storan magnetoelektrik: Cakera magnetoelektronik (MED) Huawei ialah inovasi utama dalam media storan magnetik. Generasi pertama ME

Kemahiran pembangunan Vue3+TS+Vite: cara menyulitkan dan menyimpan data Kemahiran pembangunan Vue3+TS+Vite: cara menyulitkan dan menyimpan data Sep 10, 2023 pm 04:51 PM

Petua pembangunan Vue3+TS+Vite: Cara menyulitkan dan menyimpan data Dengan perkembangan pesat teknologi Internet, keselamatan data dan perlindungan privasi menjadi semakin penting. Dalam persekitaran pembangunan Vue3+TS+Vite, cara menyulitkan dan menyimpan data adalah masalah yang perlu dihadapi oleh setiap pembangun. Artikel ini akan memperkenalkan beberapa teknik penyulitan dan storan data biasa untuk membantu pembangun meningkatkan keselamatan aplikasi dan pengalaman pengguna. 1. Penyulitan Data Penyulitan Data Bahagian Hadapan Penyulitan Bahagian Hadapan ialah bahagian penting dalam melindungi keselamatan data. Biasa digunakan

Cara mengosongkan cache pada Windows 11: Tutorial terperinci dengan gambar Cara mengosongkan cache pada Windows 11: Tutorial terperinci dengan gambar Apr 24, 2023 pm 09:37 PM

Apakah cache? Cache (sebutan ka·shay) ialah komponen perkakasan atau perisian berkelajuan tinggi khusus yang digunakan untuk menyimpan data dan arahan yang kerap diminta, yang seterusnya boleh digunakan untuk memuatkan tapak web, aplikasi, perkhidmatan dan aspek lain bahagian sistem dengan lebih pantas. . Caching menjadikan data yang paling kerap diakses tersedia. Fail cache tidak sama dengan memori cache. Fail cache merujuk kepada fail yang kerap diperlukan seperti PNG, ikon, logo, shader, dsb., yang mungkin diperlukan oleh berbilang program. Fail ini disimpan dalam ruang pemacu fizikal anda, biasanya tersembunyi. Memori cache, sebaliknya, adalah sejenis memori yang lebih pantas daripada memori utama dan/atau RAM. Ia sangat mengurangkan masa capaian data kerana ia lebih dekat dengan CPU dan lebih pantas berbanding dengan RAM

Proses pemasangan Git pada Ubuntu Proses pemasangan Git pada Ubuntu Mar 20, 2024 pm 04:51 PM

Git ialah sistem kawalan versi teragih yang pantas, boleh dipercayai dan boleh disesuaikan. Ia direka bentuk untuk menyokong aliran kerja bukan linear teragih, menjadikannya ideal untuk pasukan pembangunan perisian dari semua saiz. Setiap direktori kerja Git ialah repositori bebas dengan sejarah lengkap semua perubahan dan keupayaan untuk menjejak versi walaupun tanpa akses rangkaian atau pelayan pusat. GitHub ialah repositori Git yang dihoskan pada awan yang menyediakan semua ciri kawalan semakan yang diedarkan. GitHub ialah repositori Git yang dihoskan pada awan. Tidak seperti Git yang merupakan alat CLI, GitHub mempunyai antara muka pengguna grafik berasaskan web. Ia digunakan untuk kawalan versi, yang melibatkan kerjasama dengan pembangun lain dan menjejaki perubahan pada skrip dan

Cara menggunakan sessionStorage dengan betul untuk melindungi data sensitif Cara menggunakan sessionStorage dengan betul untuk melindungi data sensitif Jan 13, 2024 am 11:54 AM

Cara menggunakan sessionStorage dengan betul untuk menyimpan maklumat sensitif memerlukan contoh kod khusus Sama ada dalam pembangunan web atau pembangunan aplikasi mudah alih, kami selalunya perlu menyimpan dan memproses maklumat sensitif, seperti bukti kelayakan log masuk pengguna, nombor ID, dsb. Dalam pembangunan bahagian hadapan, menggunakan sessionStorage ialah penyelesaian storan biasa. Walau bagaimanapun, memandangkan sessionStorage ialah storan berasaskan pelayar, beberapa isu keselamatan perlu diberi perhatian untuk memastikan maklumat sensitif yang disimpan tidak diakses dan digunakan secara berniat jahat.

Tawaran | Tesla Model 3 Long Range AWD mendapat semula penuh insentif cukai $7,500, turun ke bawah $40,000 Tawaran | Tesla Model 3 Long Range AWD mendapat semula penuh insentif cukai $7,500, turun ke bawah $40,000 Jun 19, 2024 am 09:55 AM

Tidak lama selepas Tesla melancarkan penyegaran Model 3 Highland menjelang penghujung tahun lepas, peraturan insentif cukai EV persekutuan AS berubah, memotong separuh potensi diskaun untuk pembeli yang layak kerana Tesla menggunakan sel LFP Cina dalam M baharu

Mengesyorkan penyelesaian kursor tetikus Windows 11 terbaik Mengesyorkan penyelesaian kursor tetikus Windows 11 terbaik Apr 23, 2023 am 09:52 AM

Windows 11 mempunyai jumlah pilihan penyesuaian yang kelihatan tidak terhad, daripada tetapan lalai kepada setiap apl pihak ketiga di Internet. Malah terdapat aplikasi yang boleh menukar rupa kursor tetikus anda. Mengubah suai kursor ialah cara terbaik untuk memberikan komputer anda rupa yang unik. Anda tidak perlu meletakkan penunjuk hitam putih yang sama pada setiap komputer. Namun begitu, anda tidak perlu memuat turun perisian untuk menukar rupa kursor anda. Bagaimana untuk menukar rupa kursor? Windows 11 menawarkan sejumlah kecil penyesuaian untuk kursor. Anda boleh menukar kursor dengan pergi ke Panel Kawalan dan memilih Pilihan Tetikus di sana. Tetingkap baharu yang dipanggil "Mouse Properties" akan muncul. Dalam sifat tetikus anda boleh menukar skema warna, saiz dan reka bentuk. Komputer anda secara semula jadi

Bagaimanakah PHP dan swoole mencapai caching dan penyimpanan data yang cekap? Bagaimanakah PHP dan swoole mencapai caching dan penyimpanan data yang cekap? Jul 23, 2023 pm 04:03 PM

Bagaimanakah PHP dan swoole mencapai caching dan penyimpanan data yang cekap? Gambaran Keseluruhan: Dalam pembangunan aplikasi web, caching dan penyimpanan data adalah bahagian yang sangat penting. PHP dan swoole menyediakan kaedah yang cekap untuk cache dan menyimpan data. Artikel ini akan memperkenalkan cara menggunakan PHP dan swoole untuk mencapai caching dan penyimpanan data yang cekap, serta memberikan contoh kod yang sepadan. 1. Pengenalan kepada swoole: swoole ialah enjin komunikasi rangkaian tak segerak berprestasi tinggi yang dibangunkan untuk bahasa PHP

See all articles