CREATE OR REPLACE PROCEDURE SINGLSCHOOL
(
PICIID IN VARCHAR2
, SCHOOLID IN NUMBER
, SCHETYPE IN number
, SCHENAME OUT VARCHAR2
, ISCORE OUT VARCHAR2
, ISTHRE OUT VARCHAR2
, ISBASE OUT VARCHAR2
, ISONLINE OUT VARCHAR2
, TEACHTO OUT VARCHAR2
, CLASSCOUNT OUT VARCHAR2
, STHCOUNT OUT VARCHAR2
, SCHEID OUT VARCHAR2
) AS
--按照条件查询课程信息
SCHENAMETMP t_app_dic.f_dic_value%TYPE;
CORETMP t_app_dic.f_dic_value%TYPE;
THRETMP t_app_dic.f_dic_value%TYPE;
BASETMP t_app_dic.f_dic_value%TYPE;
ONLINETMP t_app_dic.f_dic_value%TYPE;
TEACHOTMP t_app_dic.f_dic_value%TYPE;
CLASCTMP NUMBER;
STUCTMP NUMBER;
SCHEIDTMP T_APP_SUB_SCHE.ID%TYPE;

cursor sches (SCHOOLID organization.id%type ,PICIID t_app_pici.id%type,SCHETYPE t_app_sub_sche.f_sche_type%type) is
select sche.f_sche_name,(select f_dic_value from t_app_dic where f_dic_num= sche.f_sche_core and f_dic_name='核心课程') ,
(select f_dic_value from t_app_dic where f_dic_num= sche.f_thre_prac and f_dic_name='理论/实践') ,
(select f_dic_value from t_app_dic where f_dic_num= sche.f_base_pro and f_dic_name='基础/专业') ,
(select f_dic_value from t_app_dic where f_dic_num= sche.F_ONLINE and f_dic_name='是否开网络课程') ,
(select f_dic_value from t_app_dic where f_dic_num= sche.F_TEACH_OBJE and f_dic_name='培养对象') ,
count(sc.f_class_id),sum(c.F_STU_COUNT),SCHE.ID
from t_app_sub_sche sche,t_app_sche_class sc,t_app_class c
where c.id(+)=sc.f_class_id and sche.id= sc.f_sche_id(+) and sche.f_validate = '0' and sche.f_subunit_code=(SCHOOLID||'') and sche.f_subunit_pici_pre = PICIID and sche.f_sche_type=SCHETYPE
group by SCHE.ID,sche.f_sche_name,sche.f_sche_core, sche.f_base_pro, sche.F_ONLINE, sche.F_TEACH_OBJE,sche.f_thre_prac;
BEGIN

SCHENAME:=' ';
ISCORE:=' ';
ISTHRE:=' ';
ISBASE:=' ';
ISONLINE:=' ';
TEACHTO:=' ';
CLASSCOUNT:=' ';
STHCOUNT:=' ';
SCHEID:=' ';
open sches(SCHOOLID,PICIID,SCHETYPE);
LOOP
fetch sches into SCHENAMETMP,CORETMP,THRETMP, BASETMP , ONLINETMP,TEACHOTMP, CLASCTMP, STUCTMP,SCHEIDTMP;
exit when sches%notfound;
SCHENAME:=SCHENAME||SCHENAMETMP||' ,';
ISCORE:=ISCORE||CORETMP||' ,';
ISTHRE:=ISTHRE||THRETMP||' ,';
ISBASE:=ISBASE||BASETMP||' ,';
ISONLINE:=ISONLINE||ONLINETMP||' ,';
TEACHTO:=TEACHTO||TEACHOTMP||' ,';
CLASSCOUNT:=CLASSCOUNT||CLASCTMP||' ,';
STHCOUNT:=STHCOUNT||STUCTMP||' ,';
SCHEID:=SCHEID||SCHEIDTMP||' ,';
end loop;
close sches;
DBMS_OUTPUT.PUT_LINE(SCHENAME||'::'||ISCORE||'::'||ISTHRE||'::'||ISBASE||'::'||ISONLINE||'::'||CLASSCOUNT||'::'||STHCOUNT||'::'||TEACHTO);
END SINGLSCHOOL;

sigleSchool 存储过程例1的更多相关文章

  1. sql server存储过程编程

    存储过程是一组完成特定功能的SQL 语句集合,经编译后存储在数据库中.   存储过程作为一个单元进行处理并以一个名称来标识.它能向用户返回数据.向数据库表中写入或修改数据等操作. 用户通过指定存储过程 ...

  2. SQL语句(十八)—— 存储过程

    存储过程 系统存储过程 自定义存储过程 扩展存储过程 一.创建存储过程 创建存储过程 --例1 USE SU GO Create Procedure SelProc AS Select * From ...

  3. Sql Server数据库设计高级查询

    -------------------------------------第一章  数据库的设计------------------------------------- 软件开发周期:     (1 ...

  4. 史上最全Oracle数据泵常用命令

    本文转自https://blog.csdn.net/Enmotech/article/details/102848825 墨墨导读:expdp和impdp是oracle数据库之间移动数据的工具,本文简 ...

  5. Oracle数据泵常用命令

    导读:expdp和impdp是oracle数据库之间移动数据的工具,本文简单总结了数据泵的常用命令,希望对大家有帮助.   前言 expdp和impdp是oracle数据库之间移动数据的工具.expd ...

  6. C#调用 Oracle 存储过程样例代码

    -- 建表 CREATE TABLE sale_report (      sale_date DATE NOT NULL ,      sale_item VARCHAR(2) NOT NULL , ...

  7. Mysql的存储过程(以Mysql为例进行讲解)

       我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储 在数据库中,用户通过指定存 ...

  8. MongoDB存储过程创建和使用一例

    mongo的脚本是js语法,所以存储过程也是js语法. 创建: db.system.js.save( { _id: "saveAndCount", value : function ...

  9. Delphi 使用TAdoQuery执行存储过程的样例

    procedure TCustomerForm.FindCustomerInfo;var  strSql:string;begin //  BL_HV_FindCustomerInfo 存储过程的名称 ...

随机推荐

  1. (转)Couchbase介绍,更好的Cache系统

    在移动互联网时代,我们面对的是更多的客户端,更低的请求延迟,这当然需要对数据做大量的 Cache 以提高读写速度. 术语 节点:指集群里的一台服务器. 现有 Cache 系统的特点 目前业界使用得最多 ...

  2. js实现移动端无限加载分页

    原理:当滚动条到达底部时,执行下一页内容. 判断条件需要理解三个概念:    1.scrollHeight 真实内容的高度    2.clientHeight 视窗的高度,即在浏览器中所能看到的内容的 ...

  3. 配置Qt开发环境下的OpenCV开发

    1.使用CMake工具(http://www.cmak.org),选择MinGW Makefile. *一定要注意编译的版本要与Qt的mingw32的版本相同.否则容易出现undefined refe ...

  4. JAVA设计模式(DESIGN PATTERNS IN JAVA)读书摘要 第1部分接口型模式——第4章 外观(Facade)模式

    外观模式就类似于一个工具包,一个类对应一个功能. 外观模式的意图是为子系统提供一个接口,便于它的使用. 书中给出的例子是画一个哑弹的飞行路径, 初始的类的设计是这样的,看下图, ShowFlight类 ...

  5. (转)Jmeter内存溢出处理方式记录

    方法一: 使用jmeter进行压力测试时 遇到一段时间后报内存溢 出outfmenmory错误,导致jmeter卡死了,先尝试在jmeter.bat中增加了JVM_ARGS="- Xmx20 ...

  6. 解决iOS设备屏幕切换时页面造成的问题

    环境:IOS6~7 Safari 问题:iOS设备屏幕切换时可能会造成屏幕变大,出现左右间距等问题 解决方法: 头部加入<meta name = "viewport" con ...

  7. 【转】CSS实现兼容性的渐变背景(gradient)效果

    一.有点俗态的开场白 要是两年前,实现“兼容性的渐变效果”这个说法估计不会被提出来的,那个时候,说起渐变背景,想到的多半是IE的渐变滤镜,其他浏览器尚未支持,但是,在对CSS3支持日趋完善的今天,实现 ...

  8. js----DOM的三大节点及部分用法

    DOM有三种节点:元素节点.属性节点.文本节点. 一.用nodeType可以检测节点的类型 节点类型 nodeType属性值 元素节点 1 属性节点 2 文本节点 3 这样方便在js中对各个节点进行操 ...

  9. linux修改挂载目录

    linux修改挂载目录   修改扩展磁盘默认的挂载点/home到/data   [root@localhost ~]# df -h 文件系统       容量  已用  可用 已用%% 挂载点 /de ...

  10. 文件上传下载struts2

    上传方式1: // 保存上传的文件 public boolean saveFile(File file, String fileName) throws IOException { File newF ...