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. 初识sass

    大图:http://images2015.cnblogs.com/blog/730765/201605/730765-20160529113743209-72994369.png

  2. Codevs 1205 单词翻转

    时间限制: 1 s  空间限制: 128000 KB  题目等级 : 青铜 Bronze 题解       题目描述 Description 给出一个英语句子,希望你把句子里的单词顺序都翻转过来 输入 ...

  3. STL--vector(转载)

    函数 表述 c.assign(beg,end) c.assign(n,elem) 将[beg; end)区间中的数据赋值给c. 将n个elem的拷贝赋值给c. c.at(idx) 传回索引idx所指的 ...

  4. 重写DataGridViewColumn

    做个项目需要用到DataGridView,这个控件还是挺好用的,但是今天却发现无法实现自己想要的功能.主要是DataGridViewCheckBoxColumn这个列虽然是提供了复选框,但是却未能在复 ...

  5. jquery ready()的几种实现方法小结

    几种jQuery的ready ()的写法. 1.最常用也是最标准的  $(document).ready(){  });  2.是上面的简写:  $(function(){  })  很奇怪?为什么能 ...

  6. php intval()函数

    格式:int intval(mixed $var [, int $base]); 1.intval()的返回值是整型,1或者0.可作用于数组或者对象(对象报错信息:Notice: Object of ...

  7. WordPress 主题开发 - (一) 前言 待翻译

    原文出自: http://themeshaper.com/2012/10/22/the-themeshaper-wordpress-theme-tutorial-2nd-edition/ THE TH ...

  8. Android:通过startActivityForResult方法来得到Activity的回传值

    在一些情况下,我们通过 A activity跳转到 B activity上,这时希望 A activtiy能从 B activity上得到一些返回值,这个时候我们就不能使用startActivity方 ...

  9. php session偶尔写入失败的原因

    session_start(); var_dump($_SESSION); $key = sprintf('%05d', mt_rand(0, 99999)); $key = strval($key) ...

  10. EF-Code First 入门

    本文程序基于VS2015.EF6.1,本文不做过多深入讨论,只是个入门. EF 就是微软的 EntityFramework,主要分为 DB First,Model First,Code First.之 ...