- 浏览: 40417 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (52)
- hibernate (3)
- spring (1)
- struts (0)
- commons (0)
- 英语自我介绍 (1)
- sql (18)
- extjs (0)
- linux (4)
- java (7)
- svn (0)
- html-css (1)
- ant (1)
- weblogic (1)
- perl (2)
- jsp (2)
- jms (2)
- log4j (1)
- android (2)
- maven (1)
- memcached (1)
- webservice (1)
- 在eclipse中使用Lombok (1)
- js (2)
- 在win7上安装oracle 10g配置文件更改 (0)
- myeclipse10安装svn (1)
最新评论
create or replace procedure proc_reback_72Hour(start_time in varchar2, --分诊开始时间
end_time in varchar2, --分诊结束时间
query_user in number, --查询工号
query_time in date, --查询时间
flag out varchar2 --返回值:1成功 0失败
) is
cursor cur_patient is
select distinct patient_id
from ws_precheck
where created_time >= to_date(start_time, 'yyyy-mm-dd ,hh24:mi:ss')
and created_time < to_date(end_time, 'yyyy-mm-dd, hh24:mi:ss');
c_patient cur_patient%rowtype;
v_sum number := 0;
cursor cur_arrivel(v_id varchar2) is
select f.precheck_id, f.arrivel_time
from ws_precheck p, ws_first_page f
where p.id = f.precheck_id
and p.patient_id = v_id
and f.arrivel_time >= to_date(start_time, 'yyyy-mm-dd ,hh24:mi:ss')
and f.arrivel_time < to_date(end_time, 'yyyy-mm-dd, hh24:mi:ss')
order by f.arrivel_time desc;
c_arrivel cur_arrivel%rowtype;
v_count number(4);
v_index number(1);
v_precheck_id1 number(8);
v_precheck_id2 number(8);
v_time1 date;
v_time2 date;
cursor cur_visit(v_precheck_id number) is
select p.id, p.name, p.card, p.patient_id, p.cause, f.arrivel_time
from ws_precheck p, ws_first_page f
where p.id = f.precheck_id
and f.precheck_id = v_precheck_id
and f.arrivel_time >= to_date(start_time, 'yyyy-mm-dd,hh24:mi:ss')
and f.arrivel_time < to_date(end_time, 'yyyy-mm-dd,hh24:mi:ss');
c_visit cur_visit%rowtype;
begin
flag := '1';
delete from rpt_return_visit r where r.query_user = query_user;
for c_patient in cur_patient loop
if c_patient.patient_id is not null then
select count(*)
into v_count
from ws_precheck p
where p.created_time >=
to_date(start_time, 'yyyy-mm-dd ,hh24:mi:ss')
and p.created_time < to_date(end_time, 'yyyy-mm-dd, hh24:mi:ss')
and p.patient_id = c_patient.patient_id;
if v_count > 1 then
v_index := 0;
for c_arrivel in cur_arrivel(c_patient.patient_id) loop
v_index := v_index + 1;
if v_index = 1 then
v_precheck_id1 := c_arrivel.precheck_id;
v_time1 := c_arrivel.arrivel_time;
elsif v_index = 2 then
v_precheck_id2 := c_arrivel.precheck_id;
v_time2 := c_arrivel.arrivel_time;
exit;
end if;
end loop;
if v_time1 - v_time2 <= 3 then
v_sum := v_sum + 1;
open cur_visit(v_precheck_id1);
fetch cur_visit
into c_visit;
insert into rpt_return_visit
values
(c_visit.id,
c_visit.patient_id,
c_visit.card,
c_visit.name,
c_visit.arrivel_time,
c_visit.cause,
query_user,
query_time);
close cur_visit;
end if;
--重置
v_count := null;
v_precheck_id1 := null;
v_precheck_id2 := null;
v_time1 := null;
v_time2 := null;
end if;
end if;
if v_sum >= 500 then
commit;
v_sum := 0;
end if;
end loop;
exception
when others then
flag := '0';
end proc_reback_72Hour;
end_time in varchar2, --分诊结束时间
query_user in number, --查询工号
query_time in date, --查询时间
flag out varchar2 --返回值:1成功 0失败
) is
cursor cur_patient is
select distinct patient_id
from ws_precheck
where created_time >= to_date(start_time, 'yyyy-mm-dd ,hh24:mi:ss')
and created_time < to_date(end_time, 'yyyy-mm-dd, hh24:mi:ss');
c_patient cur_patient%rowtype;
v_sum number := 0;
cursor cur_arrivel(v_id varchar2) is
select f.precheck_id, f.arrivel_time
from ws_precheck p, ws_first_page f
where p.id = f.precheck_id
and p.patient_id = v_id
and f.arrivel_time >= to_date(start_time, 'yyyy-mm-dd ,hh24:mi:ss')
and f.arrivel_time < to_date(end_time, 'yyyy-mm-dd, hh24:mi:ss')
order by f.arrivel_time desc;
c_arrivel cur_arrivel%rowtype;
v_count number(4);
v_index number(1);
v_precheck_id1 number(8);
v_precheck_id2 number(8);
v_time1 date;
v_time2 date;
cursor cur_visit(v_precheck_id number) is
select p.id, p.name, p.card, p.patient_id, p.cause, f.arrivel_time
from ws_precheck p, ws_first_page f
where p.id = f.precheck_id
and f.precheck_id = v_precheck_id
and f.arrivel_time >= to_date(start_time, 'yyyy-mm-dd,hh24:mi:ss')
and f.arrivel_time < to_date(end_time, 'yyyy-mm-dd,hh24:mi:ss');
c_visit cur_visit%rowtype;
begin
flag := '1';
delete from rpt_return_visit r where r.query_user = query_user;
for c_patient in cur_patient loop
if c_patient.patient_id is not null then
select count(*)
into v_count
from ws_precheck p
where p.created_time >=
to_date(start_time, 'yyyy-mm-dd ,hh24:mi:ss')
and p.created_time < to_date(end_time, 'yyyy-mm-dd, hh24:mi:ss')
and p.patient_id = c_patient.patient_id;
if v_count > 1 then
v_index := 0;
for c_arrivel in cur_arrivel(c_patient.patient_id) loop
v_index := v_index + 1;
if v_index = 1 then
v_precheck_id1 := c_arrivel.precheck_id;
v_time1 := c_arrivel.arrivel_time;
elsif v_index = 2 then
v_precheck_id2 := c_arrivel.precheck_id;
v_time2 := c_arrivel.arrivel_time;
exit;
end if;
end loop;
if v_time1 - v_time2 <= 3 then
v_sum := v_sum + 1;
open cur_visit(v_precheck_id1);
fetch cur_visit
into c_visit;
insert into rpt_return_visit
values
(c_visit.id,
c_visit.patient_id,
c_visit.card,
c_visit.name,
c_visit.arrivel_time,
c_visit.cause,
query_user,
query_time);
close cur_visit;
end if;
--重置
v_count := null;
v_precheck_id1 := null;
v_precheck_id2 := null;
v_time1 := null;
v_time2 := null;
end if;
end if;
if v_sum >= 500 then
commit;
v_sum := 0;
end if;
end loop;
exception
when others then
flag := '0';
end proc_reback_72Hour;
发表评论
-
执行带输出参数的存储过程
2014-10-30 09:59 544调用存储过程时,参数列表中的输出变量不能是常量,又不能在调用时 ... -
含有if else的存储过程
2014-10-27 17:19 658create or replace procedure add ... -
oracle 游标实例
2014-10-27 14:57 448create or replace procedure add ... -
oracle 客户端配置
2014-09-01 22:41 532http://blog.sina.com.cn/s/blog_ ... -
oracle 建表
2014-03-03 14:54 623create table contact ( contact_ ... -
orcle
2013-11-26 13:19 0http://www.2cto.com/database/20 ... -
oracle按时间分组统计
2013-08-21 09:02 1214多看别人设计好的代码,包括教材上的例题程序,在读懂别人的代码之 ... -
oracle 找出表的某一历史数据
2013-05-28 20:00 678SELECT * FROM tr_merchant_key A ... -
oracle 找出表的某一历史数据
2013-05-28 20:00 0SELECT * FROM tr_merchant_key A ... -
oracle创建用户 表空间 导入导出
2013-05-03 17:08 528http://www.cnblogs.com/cloudwal ... -
linux下启动oracle
2013-01-15 10:02 614linux下启动oracle http://www.doc88 ... -
oracle导入导出
2012-05-08 18:20 537imp userid=cspay/cspay fromus ... -
oracle 11g空表不能导出
2012-05-08 18:06 669http://blog.csdn.net/yangsen251 ... -
oracle服务配置
2012-05-08 18:02 574oracle服务配置 -
sybase存储过程实例
2011-04-12 18:05 1140IF OBJECT_ID('dbo.gcdr_prepare_ ... -
查看oracle数据库的sid
2011-01-24 09:55 767select name from v$database -
oracle与mysql 空字符串
2011-01-21 14:07 729select * from test t where sex ... -
linux登录本机的mysql
2011-01-18 16:35 772mysql -h127.0.0.1 -u360buy -p 说 ... -
mysql更改表字段值
2011-01-18 16:24 940例子 ALTER TABLE chatter_users M ...
相关推荐
MySQL 存储过程实例 MySQL 存储过程实例详细介绍了 MySQL 存储过程的开发步骤,本节将通过具体的实例讲解 PHP 是如何操纵 MySQL 存储过程的。 创建存储过程 存储过程的创建是 MySQL 存储过程的基础,MySQL 5.0 ...
在这个“Oracle的一个简单存储过程实例”中,我们可以看到如何在Oracle环境中创建、调用和管理存储过程。下面将详细讲解这个主题。 首先,`c.sql`、`b.sql`和`student.sql`可能是包含存储过程定义的脚本文件。这些...
在数据库管理领域,DB2是IBM推出...总结,DB2的存储过程是数据库开发的重要工具,通过学习和实践这些存储过程实例,不仅可以掌握基本操作,还能深入理解数据库管理和编程的高级概念,为今后的数据库工作打下坚实基础。
### Java调用存储过程实例:详解 #### 存储过程简介 存储过程是一种在数据库中编写的SQL程序,可以接受输入参数,执行一系列操作,并返回结果或输出参数。它们可以提高应用程序的性能、安全性和复用性。在Oracle...
### MySQL存储过程实例教程 #### 存储过程概念与优势 存储过程,作为数据库中一种预编译的SQL语句集合,旨在实现特定功能并存储于数据库内,用户仅需指定其名称及必要参数即可调用执行。这种设计极大地简化了...
在这个实例中,我们看到一个名为`Sum_wage`的存储过程,它的主要目的是对`ProWage`表中的工资进行加薪操作。 首先,存储过程的创建使用了`CREATE PROCEDURE`语句,定义了一个名为`Sum_wage`的过程,并接受三个参数...
### 存储过程实例分析 给定的存储过程示例名为`CreateProcedureAtoC`,主要功能是将输入的金额转换为中文大写形式。这个过程展示了如何在Oracle中定义和使用存储过程,包括变量声明、条件判断、循环结构等关键要素...
**实例3**:创建一个名为`temp_sale`的存储过程,将`Product`和`Order`两个表按产品编号连接,形成一个临时表`#temptable`,包含编号、产品名、客户名、订金和总金额(订金乘以订数): ```sql CREATE PROC temp_...
### Sysbase 存储过程实例详解 #### 一、存储过程概述 存储过程是一种数据库对象,在Sybase(这里应指Sybase SQL Server)这样的数据库管理系统中,存储过程是一组预编译并存储在数据库服务器上的SQL语句和流程...
在提供的压缩包文件"C#存储过程简单实例"中,可能包含了演示如何在C#中调用存储过程的代码示例。你可以参考这些示例,结合自己的数据库环境进行实践,以便更好地理解和掌握这一技术。记住,实践是检验理论的最好方式...
3. **创建存储过程实例** - 创建一个名为`stu_proc`的存储过程,获取`sno`为1的学生的`sname`并显示。 - 可以定义过程参数,如`IN`(输入参数)、`OUT`(输出参数)或`IN OUT`(输入输出参数)。 4. **调用存储...
在数据库管理中,"完美翻页"通常指的是在...总的来说,"完美翻页存储过程实例"是一个旨在提供高性能、用户体验优良的数据库分页解决方案,它结合了存储过程的优势,使得在大量数据中查找和浏览信息变得更加便捷和流畅。
### MySQL存储过程详解 #### 一、存储过程概述 存储过程是一种特殊类型的SQL代码集合,它们预先被编译并存储在数据库服务器上。用户可以通过指定存储过程名称并提供必要的参数来执行这些存储过程。这种机制提供了...
oracle 存储过程 实例 教程 oracle 存储过程 实例 教程 对于初学者来说是很好的例题
简单的oracle存储过程demo,可以参照写法写个存储过程玩玩
### 存储过程实例解释与事务处理 #### 一、简单存储过程的创建与调用 首先,我们来看一个简单的存储过程示例:`dbo.testProcedure_AX`。 ```sql CREATE PROCEDURE dbo.testProcedure_AX AS select userID from ...
"Oracle存储过程实例.pdf"可能包含了一系列实际问题的解决方案,通过存储过程实现,这可以帮助你在遇到类似问题时有所参考。这些实例可能涵盖了从简单的数据操作到复杂的数据处理任务,让你能够更好地理解存储过程在...
在这个“SQL存储过程实例.rar”压缩包中,我们很可能会找到一系列关于如何设计、创建、执行和管理SQL存储过程的实际示例。 SQL存储过程的优点在于它们可以提高性能,因为它们只需要编译一次,然后在后续的调用中...
### C#多条件查询存储过程实例 #### 一、引言 在开发应用程序时,数据库查询操作是非常常见的需求之一。为了提高查询效率和代码的可维护性,使用存储过程来进行多条件查询是一种非常有效的方法。本文将通过一个具体...