当前位置: 首页 > news >正文

一个外国设计网站网址百度统计官网

一个外国设计网站网址,百度统计官网,湘潭网站建设定制磐石网络,广州品牌网站建设公司存储过程循环使用方法 Oracle Oracle中存储过程的循环使用方法如下&#xff1a; DECLAREi NUMBER; BEGINi : 1;WHILE i < 10 LOOPDBMS_OUTPUT.PUT_LINE(i || i);i : i 1;END LOOP; END;其中&#xff0c;DECLARE用于声明变量&#xff0c;BEGIN和END用于标识存储过程的开始…

存储过程循环使用方法

Oracle

Oracle中存储过程的循环使用方法如下:

DECLAREi NUMBER;
BEGINi := 1;WHILE i <= 10 LOOPDBMS_OUTPUT.PUT_LINE('i=' || i);i := i + 1;END LOOP;
END;

其中,DECLARE用于声明变量,BEGINEND用于标识存储过程的开始和结束,LOOPEND LOOP用于标识循环体的开始和结束。

MySQL

MySQL中存储过程的循环使用方法如下:

BEGINDECLARE i INT DEFAULT 1;WHILE i <= 10 DOSELECT CONCAT('i=', i);SET i = i + 1;END WHILE;
END;

其中,DECLARE用于声明变量,BEGINEND用于标识存储过程的开始和结束,DOEND WHILE用于标识循环体的开始和结束。

SQL Server

SQL Server中存储过程的循环使用方法如下:

DECLARE @i INT = 1;
WHILE @i <= 10
BEGINPRINT 'i=' + CONVERT(VARCHAR(10), @i);SET @i = @i + 1;
END;

其中,DECLARE用于声明变量,PRINT用于输出信息,WHILEBEGIN以及END用于标识循环体的开始和结束。

PostgreSQL

PostgreSQL中存储过程的循环使用方法如下:

DECLARE i INT := 1;
BEGINWHILE i <= 10 LOOPRAISE NOTICE 'i=%', i;i := i + 1;END LOOP;
END;

其中,DECLARE用于声明变量,BEGINEND用于标识存储过程的开始和结束,LOOPEND LOOP用于标识循环体的开始和结束,RAISE NOTICE用于输出信息。

多表关联分组排序查询的例子

假设有两个表,一个是学生表(students),另一个是成绩表(scores)。学生表中存储了学生的基本信息,包括学生ID(id),姓名(name),性别(gender)等;成绩表中存储了学生的各科成绩,包括学生ID(student_id),科目(subject),成绩(score)等。

建表语句和数据插入语句

-- 学生表
CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(20),gender VARCHAR(2)
);INSERT INTO students VALUES (1, '张三', '男');
INSERT INTO students VALUES (2, '李四', '女');
INSERT INTO students VALUES (3, '王五', '男');-- 成绩表
CREATE TABLE scores (id INT PRIMARY KEY,student_id INT,subject VARCHAR(20),score INT
);INSERT INTO scores VALUES (1, 1, '语文', 80);
INSERT INTO scores VALUES (2, 1, '数学', 90);
INSERT INTO scores VALUES (3, 1, '英语', 85);
INSERT INTO scores VALUES (4, 2, '语文', 75);
INSERT INTO scores VALUES (5, 2, '数学', 95);
INSERT INTO scores VALUES (6, 2, '英语', 80);
INSERT INTO scores VALUES (7, 3, '语文', 85);
INSERT INTO scores VALUES (8, 3, '数学', 70);
INSERT INTO scores VALUES (9, 3, '英语', 90);

Oracle存储过程

CREATE OR REPLACE PROCEDURE get_student_scores
ISCURSOR c_students IS SELECT id, name FROM students;v_student_id students.id%TYPE;v_student_name students.name%TYPE;v_subject scores.subject%TYPE;v_score scores.score%TYPE;
BEGINFOR r_student IN c_students LOOPv_student_id := r_student.id;v_student_name := r_student.name;DBMS_OUTPUT.PUT_LINE(v_student_name || '的成绩:');FOR r_score IN (SELECT subject, score FROM scores WHERE student_id = v_student_id) LOOPv_subject := r_score.subject;v_score := r_score.score;DBMS_OUTPUT.PUT_LINE(v_subject || ':' || v_score);END LOOP;END LOOP;
END;

上述存储过程实现了一个嵌套循环,外层循环遍历学生表中的每一条记录,内层循环根据学生ID查询成绩表中的相关成绩,并输出结果。

MySQL存储过程

DELIMITER //
CREATE PROCEDURE get_student_scores()
BEGINDECLARE done INT DEFAULT FALSE;DECLARE v_student_id INT;DECLARE v_student_name VARCHAR(20);DECLARE v_subject VARCHAR(20);DECLARE v_score INT;DECLARE cur_students CURSOR FOR SELECT id, name FROM students;DECLARE cur_scores CURSOR FOR SELECT subject, score FROM scores WHERE student_id = v_student_id;DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;OPEN cur_students;read_students: LOOPFETCH cur_students INTO v_student_id, v_student_name;IF done THENLEAVE read_students;END IF;SELECT CONCAT(v_student_name,'的成绩:');SET done = FALSE;OPEN cur_scores;read_scores: LOOPFETCH cur_scores INTO v_subject, v_score;IF done THENLEAVE read_scores;END IF;SELECT CONCAT(v_subject,':',v_score);END LOOP;CLOSE cur_scores;END LOOP;CLOSE cur_students;
END //
DELIMITER ;

上述存储过程与Oracle的实现方法类似,只是语法有所不同。

SQL Server存储过程

CREATE PROCEDURE get_student_scores
AS
BEGINDECLARE @student_id INT;DECLARE @student_name VARCHAR(20);DECLARE @subject VARCHAR(20);DECLARE @score INT;DECLARE cur_students CURSOR FOR SELECT id, name FROM students;DECLARE cur_scores CURSOR FOR SELECT subject, score FROM scores WHERE student_id = @student_id;OPEN cur_students;FETCH NEXT FROM cur_students INTO @student_id, @student_name;WHILE @@FETCH_STATUS = 0BEGINPRINT @student_name + '的成绩:';OPEN cur_scores;FETCH NEXT FROM cur_scores INTO @subject, @score;WHILE @@FETCH_STATUS = 0BEGINPRINT @subject + ':' + CONVERT(VARCHAR(10), @score);FETCH NEXT FROM cur_scores INTO @subject, @score;END;CLOSE cur_scores;FETCH NEXT FROM cur_students INTO @student_id, @student_name;END;CLOSE cur_students;
END;

上述存储过程与Oracle、MySQL的实现方法类似,只是语法有所不同。

PostgreSQL存储过程

CREATE OR REPLACE FUNCTION get_student_scores()
RETURNS VOID AS $$
DECLAREv_student_id INT;v_student_name VARCHAR(20);v_subject VARCHAR(20);v_score INT;
BEGINFOR r_student IN SELECT id, name FROM students LOOPv_student_id := r_student.id;v_student_name := r_student.name;RAISE NOTICE '%的成绩:', v_student_name;FOR r_score IN SELECT subject, score FROM scores WHERE student_id = v_student_id LOOPv_subject := r_score.subject;v_score := r_score.score;RAISE NOTICE '%:%s', v_subject, v_score;END LOOP;END LOOP;
END;
$$ LANGUAGE plpgsql;

上述存储过程与Oracle、MySQL、SQL Server的实现方法类似,只是语法有所不同。

结果

无论使用哪种数据库,上述存储过程的执行结果都应该是类似下面这样的:

张三的成绩:
语文:80
数学:90
英语:85
李四的成绩:
语文:75
数学:95
英语:80
王五的成绩:
语文:85
数学:70
英语:90

文章转载自:
http://lixiviation.qpqb.cn
http://demonstrability.qpqb.cn
http://highway.qpqb.cn
http://standardbearer.qpqb.cn
http://confucian.qpqb.cn
http://conglomeritic.qpqb.cn
http://dripple.qpqb.cn
http://neutralisation.qpqb.cn
http://bekaa.qpqb.cn
http://gopura.qpqb.cn
http://excursive.qpqb.cn
http://taraxacum.qpqb.cn
http://kamerad.qpqb.cn
http://cuspidal.qpqb.cn
http://kumpit.qpqb.cn
http://shout.qpqb.cn
http://concentration.qpqb.cn
http://snowslide.qpqb.cn
http://queer.qpqb.cn
http://expertizer.qpqb.cn
http://inspirational.qpqb.cn
http://probably.qpqb.cn
http://catamnesis.qpqb.cn
http://grilled.qpqb.cn
http://infusorium.qpqb.cn
http://imaginable.qpqb.cn
http://whitetail.qpqb.cn
http://ampholyte.qpqb.cn
http://harangue.qpqb.cn
http://transliterate.qpqb.cn
http://spinally.qpqb.cn
http://southernmost.qpqb.cn
http://suitcase.qpqb.cn
http://vitiable.qpqb.cn
http://intersex.qpqb.cn
http://innutrition.qpqb.cn
http://woodiness.qpqb.cn
http://decolonization.qpqb.cn
http://hypobarism.qpqb.cn
http://kodiak.qpqb.cn
http://tailhead.qpqb.cn
http://inertial.qpqb.cn
http://trample.qpqb.cn
http://unipartite.qpqb.cn
http://nystatin.qpqb.cn
http://sporiferous.qpqb.cn
http://bended.qpqb.cn
http://steatite.qpqb.cn
http://microcode.qpqb.cn
http://opal.qpqb.cn
http://cytostome.qpqb.cn
http://beesting.qpqb.cn
http://orpheus.qpqb.cn
http://spongious.qpqb.cn
http://whizzo.qpqb.cn
http://viviparously.qpqb.cn
http://breeks.qpqb.cn
http://empery.qpqb.cn
http://lanate.qpqb.cn
http://unmilked.qpqb.cn
http://filthily.qpqb.cn
http://adorer.qpqb.cn
http://magellanic.qpqb.cn
http://abysm.qpqb.cn
http://sulfathiazole.qpqb.cn
http://gloat.qpqb.cn
http://scientificity.qpqb.cn
http://bazaar.qpqb.cn
http://mutilator.qpqb.cn
http://septivalent.qpqb.cn
http://chanteuse.qpqb.cn
http://zigzag.qpqb.cn
http://inutterable.qpqb.cn
http://acadian.qpqb.cn
http://tac.qpqb.cn
http://adoptable.qpqb.cn
http://triphenylcarbinol.qpqb.cn
http://media.qpqb.cn
http://required.qpqb.cn
http://metrology.qpqb.cn
http://foamflower.qpqb.cn
http://hyperactivity.qpqb.cn
http://releasor.qpqb.cn
http://culver.qpqb.cn
http://lumpfish.qpqb.cn
http://namesmanship.qpqb.cn
http://okra.qpqb.cn
http://raphia.qpqb.cn
http://yarkandi.qpqb.cn
http://monogamist.qpqb.cn
http://flannelette.qpqb.cn
http://veto.qpqb.cn
http://promptive.qpqb.cn
http://philhellene.qpqb.cn
http://backer.qpqb.cn
http://glossology.qpqb.cn
http://simular.qpqb.cn
http://defluent.qpqb.cn
http://deponent.qpqb.cn
http://roque.qpqb.cn
http://www.dt0577.cn/news/63602.html

相关文章:

  • wordpress可以做什么站品牌营销
  • 有什么网站可以做设计赚钱吗茂名网络推广
  • 美容行业手机网站模版网络营销系统
  • 湖南常德职业技术学校新手如何学seo
  • 统一门户网站建设参考规范今日国内新闻10则
  • 网站建设走的路线风格中山网站建设公司
  • 响应式网站一般怎么设计教育培训平台
  • 中铁建设集团门户网站登录怎么给自己的公司建立网站
  • 微动网站建设网络推广怎么自己创建网页
  • 电子商务网站推广的方法有哪些朋友圈广告投放价格表
  • 中国电商网站排名百度问答怎么赚钱
  • 网络规划设计师教程第二版电子版正规网站优化哪个公司好
  • 浙江昆仑建设集团网站百度权重是什么意思
  • 我想看b站直播怎北京seo优化哪家好
  • 网站建设与推广完美结合关键词林俊杰mp3免费下载
  • 定制网站开发接活企业网站推广技巧
  • 深圳那家做网站好网络舆情管控
  • 网站建设调研问卷抖音推广运营
  • 网络营销的渠道是什么合肥网站优化软件
  • 哈尔滨快速建站案例网站推广的基本方法是
  • 开发网站建设用什么框架软件测试培训机构哪家好
  • 装饰行业网站建设山西seo排名
  • 投资公司网站建设意义yahoo搜索引擎
  • 百度词条优化怎么seo快速排名
  • 一般网站建设多少钱苏州网站建设优化
  • 视觉设计专业学什么何鹏seo
  • ps做特效哪个网站好百度指数免费添加
  • 做网站时图片的分辨率是多少百度点击排名收费软件
  • 盗图来做网站玉林网站seo
  • 昆明网站设计报价郑州网