`

存储过程实例

阅读更多

下面这段存储过程实现的逻辑:

统计昨天注册的新用户的数据,插入到指定的表中,提供给应用程序查询,生成报表。

 

 

CREATE OR REPLACE PROCEDURE agent_reguser_static
-- 统计昨天的用户注册信息:                                                                       
                                                                                          
is                                                                                                                           
ls_user_id number(10);                                                                                              
ls_remarks varchar2(10);                                                                                                    
ls_websiteid varchar2(15);
ls_salesid varchar2(150);  
ls_agentid varchar2(15);                                                                                                                           
                                                                                                                             
begin
 delete from agent_reg_user where to_char(time,'yyyy-mm-dd') = to_char( sysdate-1,'yyyy-mm-dd' );--删除掉历史数据,重新统计
 commit;
 
 declare  cursor cur_reg_user is    --统计昨天新注册的用户   
  select distinct w.userid,w.sitevalue from web_listen w,agent_user_info a where to_char(w.regdate,'yyyy-mm-dd')
   =to_char( sysdate-1,'yyyy-mm-dd') and ((w.sitevalue = a.agentid and a.agentlevel = 3) or (w.sitevalue like 'lerss%'));
    
 begin
  open cur_reg_user;
        loop
         fetch cur_reg_user into ls_user_id, ls_websiteid;
         exit when cur_reg_user%notfound;


  if substr(ls_websiteid,1,5) ='lerss' then
   ls_salesid := '080829005000001';
   ls_agentid := '080829005';
  else  
   select agentid,parentid into ls_salesid,ls_agentid from agent_user_info where agentid in( select parentid from agent_user_info
    where agentid = ls_websiteid and agentlevel = 3);
  end if;
    
  --将注册信息插入到表agent_reg_user中
  insert into agent_reg_user(id,userid,username,truename,cardnum,mobile,email,area,time,websiteid,salesid,agentid)
 
  select SEQ_AGENT_REG_USER.nextval,ls_user_id,username,truename,cardid,phone,email,substr(cardid,1,2)||'0000',
   time,ls_websiteid,ls_salesid,ls_agentid from luser where id = ls_user_id;
  commit;

 end loop ;
 close cur_reg_user;                                                                                               
    
  --更新area信息,如果不属于基本省的地区信息,则均属于其它
  update agent_reg_user set area = '100000' where to_char(time,'yyyy-mm-dd') = to_char( sysdate-1,'yyyy-mm-dd' )
   and area not in  (select area_id from agent_area_dic);
  commit;
end;
                                                                                                                         
end agent_reguser_static;
/

2
0
分享到:
评论

相关推荐

    mysql存储过程实例

    MySQL 存储过程实例 MySQL 存储过程实例详细介绍了 MySQL 存储过程的开发步骤,本节将通过具体的实例讲解 PHP 是如何操纵 MySQL 存储过程的。 创建存储过程 存储过程的创建是 MySQL 存储过程的基础,MySQL 5.0 ...

    oracle的一个简单存储过程实例

    在这个“Oracle的一个简单存储过程实例”中,我们可以看到如何在Oracle环境中创建、调用和管理存储过程。下面将详细讲解这个主题。 首先,`c.sql`、`b.sql`和`student.sql`可能是包含存储过程定义的脚本文件。这些...

    db2 存储过程实例

    在数据库管理领域,DB2是IBM推出...总结,DB2的存储过程是数据库开发的重要工具,通过学习和实践这些存储过程实例,不仅可以掌握基本操作,还能深入理解数据库管理和编程的高级概念,为今后的数据库工作打下坚实基础。

    java调用存储过程实例

    ### Java调用存储过程实例:详解 #### 存储过程简介 存储过程是一种在数据库中编写的SQL程序,可以接受输入参数,执行一系列操作,并返回结果或输出参数。它们可以提高应用程序的性能、安全性和复用性。在Oracle...

    MySQL存储过程实例教程

    ### MySQL存储过程实例教程 #### 存储过程概念与优势 存储过程,作为数据库中一种预编译的SQL语句集合,旨在实现特定功能并存储于数据库内,用户仅需指定其名称及必要参数即可调用执行。这种设计极大地简化了...

    SQL存储过程实例.doc

    在这个实例中,我们看到一个名为`Sum_wage`的存储过程,它的主要目的是对`ProWage`表中的工资进行加薪操作。 首先,存储过程的创建使用了`CREATE PROCEDURE`语句,定义了一个名为`Sum_wage`的过程,并接受三个参数...

    oracle存储过程实例(1)

    ### 存储过程实例分析 给定的存储过程示例名为`CreateProcedureAtoC`,主要功能是将输入的金额转换为中文大写形式。这个过程展示了如何在Oracle中定义和使用存储过程,包括变量声明、条件判断、循环结构等关键要素...

    存储过程实例(初学者)

    **实例3**:创建一个名为`temp_sale`的存储过程,将`Product`和`Order`两个表按产品编号连接,形成一个临时表`#temptable`,包含编号、产品名、客户名、订金和总金额(订金乘以订数): ```sql CREATE PROC temp_...

    sysbase 存储过程实例

    ### Sysbase 存储过程实例详解 #### 一、存储过程概述 存储过程是一种数据库对象,在Sybase(这里应指Sybase SQL Server)这样的数据库管理系统中,存储过程是一组预编译并存储在数据库服务器上的SQL语句和流程...

    C#存储过程实例

    在提供的压缩包文件"C#存储过程简单实例"中,可能包含了演示如何在C#中调用存储过程的代码示例。你可以参考这些示例,结合自己的数据库环境进行实践,以便更好地理解和掌握这一技术。记住,实践是检验理论的最好方式...

    oracle存储过程实例

    3. **创建存储过程实例** - 创建一个名为`stu_proc`的存储过程,获取`sno`为1的学生的`sname`并显示。 - 可以定义过程参数,如`IN`(输入参数)、`OUT`(输出参数)或`IN OUT`(输入输出参数)。 4. **调用存储...

    完美翻页存储过程实例

    在数据库管理中,"完美翻页"通常指的是在...总的来说,"完美翻页存储过程实例"是一个旨在提供高性能、用户体验优良的数据库分页解决方案,它结合了存储过程的优势,使得在大量数据中查找和浏览信息变得更加便捷和流畅。

    MYSQL的存储过程实例文档

    ### MySQL存储过程详解 #### 一、存储过程概述 存储过程是一种特殊类型的SQL代码集合,它们预先被编译并存储在数据库服务器上。用户可以通过指定存储过程名称并提供必要的参数来执行这些存储过程。这种机制提供了...

    oracle 存储过程实例

    oracle 存储过程 实例 教程 oracle 存储过程 实例 教程 对于初学者来说是很好的例题

    sql存储过程实例

    简单的oracle存储过程demo,可以参照写法写个存储过程玩玩

    存储过程实例解释 事务实例解释 C#中使用带返回值的存储过程

    ### 存储过程实例解释与事务处理 #### 一、简单存储过程的创建与调用 首先,我们来看一个简单的存储过程示例:`dbo.testProcedure_AX`。 ```sql CREATE PROCEDURE dbo.testProcedure_AX AS select userID from ...

    存储过程实例 java

    "Oracle存储过程实例.pdf"可能包含了一系列实际问题的解决方案,通过存储过程实现,这可以帮助你在遇到类似问题时有所参考。这些实例可能涵盖了从简单的数据操作到复杂的数据处理任务,让你能够更好地理解存储过程在...

    SQL存储过程实例.rar

    在这个“SQL存储过程实例.rar”压缩包中,我们很可能会找到一系列关于如何设计、创建、执行和管理SQL存储过程的实际示例。 SQL存储过程的优点在于它们可以提高性能,因为它们只需要编译一次,然后在后续的调用中...

    c#多条件查询存储过程实例

    ### C#多条件查询存储过程实例 #### 一、引言 在开发应用程序时,数据库查询操作是非常常见的需求之一。为了提高查询效率和代码的可维护性,使用存储过程来进行多条件查询是一种非常有效的方法。本文将通过一个具体...

Global site tag (gtag.js) - Google Analytics