当前位置: 首页 > 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用于声明变量BEGIN和END用于标识存储过程的开始和结束LOOP和END LOOP用于标识循环体的开始和结束。 MySQL MySQL中存储过程的循环使用方法如下 BEGINDECLARE i INT DEFAULT 1;WHILE i 10 DOSELECT CONCAT(i, i);SET i i 1;END WHILE; END;其中DECLARE用于声明变量BEGIN和END用于标识存储过程的开始和结束DO和END 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用于输出信息WHILE和BEGIN以及END用于标识循环体的开始和结束。 PostgreSQL PostgreSQL中存储过程的循环使用方法如下 DECLARE i INT : 1; BEGINWHILE i 10 LOOPRAISE NOTICE i%, i;i : i 1;END LOOP; END;其中DECLARE用于声明变量BEGIN和END用于标识存储过程的开始和结束LOOP和END LOOP用于标识循环体的开始和结束RAISE NOTICE用于输出信息。 多表关联分组排序查询的例子 假设有两个表一个是学生表students另一个是成绩表scores。学生表中存储了学生的基本信息包括学生IDid姓名name性别gender等成绩表中存储了学生的各科成绩包括学生IDstudent_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://www.hkea.cn/news/14256598/

相关文章:

  • 站长工具app官方下载公司怎么做网页网站
  • 广州做家教的网站如何做网站小编
  • 网站开发视频 百度云律师关键词推广
  • 云服务器是否可以做多个网站深圳建站的公司
  • 福州 网站备案阿里云linux服务器搭建wordpress
  • asp.net 网站管理系统整合营销案例
  • 张家口高新区做网站flashfxp上传网站
  • 手机网站模板演示外包做网站的要求怎么写
  • 加强网站信息内容建设的意见电子商务网站建设与综合实践
  • 企业网站的建设目标有哪几种做网站上哪买空间
  • 北京营销型网站餐饮营销策划方案
  • 企业的网站特点设计方案英文
  • 银川网站建设哪家价格低做管理信息的网站
  • 装修公司网站模板下载中国建筑网官网首页
  • 关于做花茶网站的策划书wordpress 阿里云视频点播
  • 网站建设基本流程是什么建设企业网站是静态还是动态好
  • 清爽网站东莞建设网 东莞市住房和城乡建设局门户网站
  • 网站绿标怎么做安徽省建设工程信息网官方
  • wordpress网站之间互联网站建设规划表
  • 旅游网站设计代码模板江苏南京建设局官方网站
  • 南京网站建设q润洽网络小网站发布要怎么做
  • 俄罗斯外贸常用网站wordpress模板底部的版权文字
  • 风格网站建设视频网站设计意义
  • 百度商桥网站蓝海电商怎么做
  • 旅游电商网站建设方案移动路由器做网站服务器
  • 北京网站设计培训机构wordpress备份用户权限
  • 济南做网站 推荐行知科技可以做投票的网站
  • php网站中水印怎么做win7怎么重新安装wordpress
  • 用J2ee怎么做视频网站网站前台乱码
  • 网站打开速度规定多长时间山西网络营销外包