栏目分类

热点资讯

你的位置:国产精彩刺激真实乱对白_宾馆嫖大龄熟妇在线播放_甜美人妻出轨中文字幕_三上悠亚日韩精品二区_国产美女极度色诱视频_白丝制服喷水护士自慰_穿裙子挂空挡坐他腿上 > 公车上吸住奶头h >

一次40分钟是什么意思若是要稽查背面的数据

发布日期:2022-09-23 06:17    点击次数:170
宝宝我们不要做太大声一次40分钟是什么意思 什么是游标?

游标(cursor)是一个存储在MySQL劳动器上的数据库查询, 它不是一条SELECT语句,而是被该语句检索出来的恶果集。在存储了游 标之后,诓骗时候不错字据需要改动或浏览其中的数据。

贵重:MySQL游标只可用于 存储经过(和函数)。

创建游标

在创建一个游标前,咱们需要先拔除游处所语法

1、界说游标

DECLARE 游标称号 CURSOR FOR SQL语句; 

2、大开游标

OPEN 游标称号; 

3、获得恶果

FETCH 游标称号 INTO 变量称号[,变量称号]; 

4、关闭游标

CLOSE 游标称号; 

咱们以Customers表来四肢示例

示例一

界说一个存储经过,调用的期间奉行内部的游标

CREATE PROCEDURE PROC1() BEGIN     -- 界说两个存放恶果的变量     DECLARE NAME VARCHAR(20);     DECLARE ADDR VARCHAR(50);     -- 声明游标     DECLARE MY CURSOR FOR SELECT 姓名,地址 FROM customers;     -- 大开游标     OPEN MY;     -- 获得恶果     FETCH MY INTO NAME,ADDR;     -- 这里是为了披露获得恶果     SELECT NAME,ADDR;     -- 关闭游标     CLOSE MY;     END; 

咱们奉行完上头的存储经过后, 在线观看就不错调用该存储经过了

CALL PROC1(); 

得到恶果:

这里笃定有小伙伴风趣,customers内外明明有7笔记载,为什么只披露了1笔记载?

这是因为游处所变量只保留了customers表中的第一转数据,若是要稽查背面的数据,就需要轮回往下迁移游标,国产精品久久三级本领陆续稽查。

示例二

界说一个存储经过,调用存储经落后,将表customers里的数据轮回写入新的表内部。

CREATE PROCEDURE PROC2() BEGIN     -- 界说两个存放恶果的变量     DECLARE FLAG INT DEFAULT 0;      DECLARE NAME VARCHAR(20);     DECLARE ADDR VARCHAR(50);     -- 声明游标     DECLARE MY CURSOR FOR SELECT 姓名,地址 FROM customers;      DECLARE CONTINUE HANDLER FOR NOT FOUND SET FLAG=1;     -- 大开游标     OPEN MY;     -- 轮回体部分     L1:LOOP     -- 获得恶果     FETCH MY INTO NAME,ADDR;     IF FLAG=1 THEN        LEAVE L1;     END IF;     -- 这里是为了披露获得恶果     INSERT INTO cus VALUES(NAME,ADDR);     -- 关闭游标     END LOOP;  -- 截至轮回     CLOSE MY;     END; 

然后咱们奉行这个存储经过,并查询cus内外的数据

CALL PROC2();  SELECT * FROM cus; 

恶果:

恶果与customers里的一致,然而这些恶果是轮回一条一条往下迁移的经过中插入的,即这个轮回奉行了7次。 

以上便是游处所基本操作旨趣了,此外游处所轮回体还有WHILE,REPEAT等操作花式,他们的操作花式与LOOP访佛,都是用来轮回奉行轮回体内部的执行,直到轮回截至。

 



我的网站