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. 20140215-搭建phonegap开发环境

    1.安装jdk,配置环境变量 a)设置 JAVA_HOME =E:\SetUpFiles\win8.1\Java\jdk1.6.0_45 b)设置PATH=E:\SetUpFiles\win8.1\J ...

  2. 让人心动的jQuery插件和HTML5动画

    1.jQuery/CSS3带表单的下拉菜单 今天要分享一款基于jQuery和CSS3的下拉菜单,这款jQuery下拉菜单非常特别,我们直接可以在下拉菜单中填写联系表单.登录表单.而且整个下拉菜单的外观 ...

  3. windows通过thrift访问hdfs

    thirift是一个支持跨种语言的远程调用框架,通过thrift远程调用框架,结合hadoop1.x中的thriftfs,编写了一个针对hadoop2.x的thriftfs,供外部程序调用. 1.准备 ...

  4. 生成HTMLTestRunner测试报告的操作步骤——Python+selenium自动化

    HTMLTestRunner是Python标准库的unittest模块的一个扩展,具体操作如下 1.安装 环境:Window8 步骤:1)http://tungwaiyip.info/software ...

  5. 《Linux系统 date、cal、hwclock时间命令的用法》

    date命令的用法: [root@apache ~]# date //查看当前系统的时间 Sat Jun 14 13:46:02 CST 2014 [root@apache ~]# date -s & ...

  6. 自制小工具监控wcf服务是否正常

    由于项目中有2个使用netTcpBinding的wcf服务经常出现无法提供服务的问题,一直找原因也找不到导致影响严重,更换InstanceContextMode和ConcurrencyMode配置也不 ...

  7. MotionEvent中getX()和getRawX()的区别

    http://blog.csdn.net/ztp800201/article/details/17218067 public class Res extends Activity implements ...

  8. JS面向对象编程创建类的方式

    js创建类的方式有几种,大致如下: 1,构造函数方式: function Car(parameters) { this.name = "objectboy"; } var cat1 ...

  9. SQL中的自定义函数Function

    先给出一个链接吧,别人写的:http://www.cnblogs.com/diony/archive/2010/12/17/1909014.html 总结得很全面,感谢感谢!自己练习了一下后面的例子, ...

  10. C# 使用隐式或显示实现接口的区别

    通俗的来讲,"显示接口实现"就是使用接口名称作为方法名的前缀;而传统的实现方式称之为:"隐式接口实现".费话不说,例子如下:      interface IA ...