前言
这是我曾经做用户统计行为分析时,写过的存储过程,将从网站通过js脚本抓取到的数据,通过存储过程的方式定时写入到数据库中,存储过程如下。
目录
- 存储过程
- 调用存储过程
- 以此博客相关的博客文章推荐
1.存储过程
create or replace procedure pro_analyse( visitLocalTime in varchar2, --访问时间, configId varchar2, --唯一ip title varchar2,--页面标题 urlRef varchar2,--引用页面url url varchar2,--页面url visitorCountVisits number,--回访次数 configOs varchar2,--操作系统 configBrowserName varchar2,--浏览器名称 configBrowserVersion varchar2,--浏览器版本 configResolution varchar2,--分辨率 configPdf varchar2,--是否支持pdf configFlash varchar2,--是否支持flash configJava varchar2,--是否支持java configDirector varchar2,--是否支持director configQuicktime varchar2,--是否支持quicktime configRealpayer varchar2,--是否支持realplayer configWindowMedia varchar2,--是否支持windowmedia configGears varchar2,--是否支持gears configSilerlight varchar2,--是否支持Slierlight configCookie varchar2 ,--是否支持cookie locationBrowserLang varchar2,--浏览器语言 locationIp varchar2,--访客ip isRegister varchar2,--是否为注册用户(0,1) userId varchar2, --用户id ipAddress varchar2,--根据ip获得用户地址 ipAreas varchar2--根据ip获取用户通信地址 ) is visitTotalActions number;--访问次数; idvisit2 varchar2(256);--访客动作id id number(18);--访客动作主键 link_id number(18); begin select t.visit_total_actions,t.idvisit into visitTotalActions,idvisit2 from w_log_visit t where to_char(t.visit_first_action_time, 'yyyy-mm-dd hh24:mi:ss') >= to_char(sysdate-1,'yyyy-mm-dd')||'23:59:59' and t.config_id = configId; select seq_cms_all.nextval into id from dual; if visitTotalActions > 0 then--更新w_log_visit update w_log_visit a set a.visit_total_actions=a.visit_total_actions+1,--访问次数+1 a.visit_exit_idaction_url=url,--退出页面url a.visit_exit_idaction_name=title,--退出页面标题 a.visit_last_action_time=sysdate where a.idvisit=idvisit; else dbms_output.put_line('插入w_log_visit'); INSERT INTO W_LOG_VISIT (IDVISIT, IDVISITOR, VISITOR_LOCALTIME, VISITOR_RETURNING, VISITOR_COUNT_VISITS, VISITOR_DAYS_SINCE_LAST, VISITOR_DAYS_SINCE_ORDER, VISITOR_DAYS_SINCE_FIRST, VISIT_FIRST_ACTION_TIME, VISIT_LAST_ACTION_TIME, VISIT_EXIT_IDACTION_URL, VISIT_EXIT_IDACTION_NAME, VISIT_ENTRY_IDACTION_URL, VISIT_ENTRY_IDACTION_NAME, VISIT_TOTAL_ACTIONS, VISIT_TOTAL_TIME, VISIT_GOAL_CONVERTED, VISIT_GOAL_BUYER, REFERER_TYPE, REFERER_NAME, REFERER_URL, REFERER_KEYWORD, CONFIG_ID, CONFIG_OS, CONFIG_BROWSER_NAME, CONFIG_BROWSER_VERSION, CONFIG_RESOLUTION, CONFIG_PDF, CONFIG_FLASH, CONFIG_JAVA, CONFIG_DIRECTOR, CONFIG_QUICKTIME, CONFIG_REALPLAYER, CONFIG_WINDOWSMEDIA, CONFIG_GEARS, CONFIG_SILVERLIGHT, CONFIG_COOKIE, LOCATION_IP, LOCATION_BROWSER_LANG, LOCATION_COUNTRY, LOCATION_CONTINENT, CUSTOM_VAR_K1, CUSTOM_VAR_V1, CUSTOM_VAR_K2, CUSTOM_VAR_V2, CUSTOM_VAR_K3, CUSTOM_VAR_V3, CUSTOM_VAR_K4, CUSTOM_VAR_V4, CUSTOM_VAR_K5, CUSTOM_VAR_V5, LOCATION_PROVIDER) VALUES (id,--主键 取序列自动增长 userId, --IDVISITOR 咱存放userid to_char(visitLocalTime,'hh24:mm:si'),--当前访问时间 '0',--visitor_returning 是否回访---暂时没有统计 visitorCountVisits,--回访次数visitor_count_visits, 0,--距离最后一次访问相差天数visitor_days_since_last 暂无统计, 0,--visitor_days_since_order, 0,--距离第一次访问相差的天数 visitor_days_since_first, to_date(to_char(visitLocalTime,'yyyy-mm-dd hh24:mi:ss'),'YYYY-MM-DD HH24:MI:SS'),--第一次访问时间 visit_first_action_time to_date(to_char(visitLocalTime,'yyyy-mm-dd hh24:mi:ss'),'YYYY-MM-DD HH24:MI:SS'),--最后一次访问时间 visit_last_action_time url,--退出网站url visit_exit_idaction_url, title,--退出网站name visit_exit_idaction_name, url,--进入网站url visit_entry_idaction_url, title,--进入网站name visit_entry_idaction_name, 1,--访问次数 visit_total_actions, 0,--访问总时长 visit_total_time 暂无统计, 0,--visit_goal_converted, 0,--visit_goal_buyer, 1,--referer_type, 0,--referer_name, urlRef,--referer_url 引用页面url, '',--referer_keyword, configId,--config_id, configOs,--config_os 操作系统, configBrowserName,--#config_browser_name#, 浏览器名称 configBrowserVersion,--#config_browser_version#, configResolution,--#config_resolution#, configPdf,--#config_pdf#, configFlash,--#config_flash#, configJava,--#config_java#, configDirector,-- #config_director#, configQuicktime,--#config_quicktime#, configRealpayer,--#config_realplayer#, configWindowMedia,--#config_windowsmedia#, configGears,--#config_gears#, configSilerlight,--#config_silverlight#, configCookie,--#config_cookie#, locationIp,--#location_ip#, locationBrowserLang,--#location_browser_lang#, '',--#location_country#, '',--#location_continent#, '',--#custom_var_k1#, '',--#custom_var_v1#, ipAddress,--#custom_var_k2#, ipAreas,--#custom_var_v2#, '',--#custom_var_k3#, '',--#custom_var_v3#, '',--#custom_var_k4#, '',--#custom_var_v4#, '',--#custom_var_k5#, '',--#custom_var_v5#, 'cn');--#location_provider# end if;--插入w_log_link_visit_action select seq_cms_all.nextval into link_id from dual; dbms_output.put_line('插入w_log_link_visit '); INSERT INTO W_LOG_LINK_VISIT_ACTION (IDLINK_VA, IDVISITOR, SERVER_TIME, IDVISIT, IDACTION_URL, IDACTION_URL_REF, IDACTION_NAME, IDACTION_NAME_REF, TIME_SPENT_REF_ACTION) VALUES( link_id,--#idlink_va#,主键 userId,--#idVisitor#, to_date(to_char(visitLocalTime,'yyyy-mm-dd HH:mm:ss'),'YYYY-MM-DD HH24:MI:SS'),--#serverTime# id,--#idVisit#, url,--#idActionUrl#, urlRef,--#idActionUrlRef#, title,--#idActionName#, '',--#idActionNameRef#, 0);--#timeSpentRefAction# 网站停留时间 commit; EXCEPTION when dup_val_on_index then dbms_output.put_line('对于数据库表中的某一列,该列已经被限制为唯一索引,程序试图存储两个重复的值 '); WHEN OTHERS THEN dbms_output.put_line('异常 '); ROLLBACK; end;
2.调用存储过程:
call pro_analyse( '2013-06-05 13:09:56',--visitLocalTime in varchar2, --访问时间, '108524137',--configId varchar2, --唯一ip '95598首页',--title varchar2,--页面标题 'www.baidu.com',--urlRef varchar2,--引用页面url 'index.html',--url varchar2,--页面url '0',--visitorCountVisits number,--回访次数 'windows',--configOs varchar2,--操作系统 'google',--configBrowserName varchar2,--浏览器名称 '1.9',--configBrowserVersion varchar2,--浏览器版本 '1024*768',--configResolution varchar2,--分辨率 1,--configPdf varchar2,--是否支持pdf 1,--configFlash varchar2,--是否支持flash 1,--configJava varchar2,--是否支持java 1,--configDirector varchar2,--是否支持director 1,--configQuicktime varchar2,--是否支持quicktime 1,-- configRealpayer varchar2,--是否支持realplayer 1,-- configWindowMedia varchar2,--是否支持windowmedia 1,-- configGears varchar2,--是否支持gears 1,--configSilerlight varchar2,--是否支持Slierlight 1,--configCookie varchar2 ,--是否支持cookie 'cn',--locationBrowserLang varchar2,--浏览器语言 '10.85.24.137',--locationIp varchar2,--访客ip '1',--isRegister varchar2,--是否为注册用户(0,1) '2013060512142123',--userId varchar2, --用户id '北京市',--ipAddress varchar2,--根据ip获得用户地址 '电信'--ipAreas varchar2--根据ip获取用户通信地址 );
3.以此博客相关的博客文章推荐
相关推荐
基于Microsoft SQL Server存储过程的院内医疗报表统计分析 本文主要介绍了基于Microsoft SQL Server存储过程的院内医疗报表统计分析方法,该方法旨在快速、准确地统计及分析医院医疗业务运行情况,提供Methodology...
第一个存储过程统计“高等数学”的成绩分布情况,第二个存储过程统计给定课程的平均成绩,第三个存储过程将学生选课成绩从百分制改为等级制,第四个存储过程查询该学生的学号以及选修课程的门数,第五个存储过程获取...
例如,`CREATE Proc MATH_NUM`这个存储过程接收一个参数`@MATH`,用于统计指定课程(如高等数学)不同分数段的学生人数。通过CASE语句,它能精确地计算出90分以上、80-90分、70-80分、60-70分以及60分以下的学生数量...
通过分析和运行此脚本,我们可以更深入地了解存储过程是如何实现仓库出库统计功能的。这包括定义存储过程的结构,设定参数,编写SQL查询以及处理结果集的逻辑。如果需要进一步优化或定制这个过程,可以在此基础上...
- **数据分析**:创建一个存储过程,计算某个时间段内的销售统计数据。 - **事务处理**:在一个存储过程中处理多个数据库操作,确保事务的原子性和一致性。 综上所述,DB2存储过程是提高数据库应用程序效率的重要...
此外,实验报告应包括实验设计思路、遇到的技术问题及解决方法、实验过程的详细描述,以及个人的分析、建议和体会。 确保实验报告按照指定格式和要求撰写,包括个人信息、实验时间、实验名称等,并以指定的文件名...
- **目的**:利用中间表、临时表或视图降低统计分析或查询过程中的大SQL操作,减少对数据库排序区的压力。 综上所述,通过实施以上方案,可以有效地解决现有系统中存在的问题,提升系统的稳定性和查询效率,为公司...
- 数据分析:使用统计分析、数据挖掘、机器学习等方法,从大数据中发现安全威胁和漏洞。 - 可视化与报告:将分析结果以易于理解的形式呈现给决策者。 3. 大数据分析在信息安全中的应用场景 - 防御型安全:利用大...
《2019公立医院信息化招投标统计分析报告》是由动脉网与蛋壳研究院联合发布的研究报告,旨在深入剖析2019年我国公立医院在信息化建设过程中的招投标情况,为医疗信息化领域的发展提供参考。报告覆盖了公立医院信息化...
【标题】:“毕业答辩-ASP.NET基于WEB的工作计划统计分析系统的设计与实现(源代码论文).rar” 这个标题揭示了这是一个关于毕业答辩的项目,主要涉及的是使用ASP.NET技术构建一个基于Web的工作计划统计分析系统。...
2. **统计分析**:对一天内的服务事件进行统计,如计算事件的频率、持续时间等。 3. **异常检测**:通过分析日志数据,识别并报告异常或潜在的问题。 4. **报告生成**:每天结束时自动生成服务事件报告,供运维人员...
### CMMI3-度量与分析过程-培训资料 #### 一、度量与分析概述 在软件工程和项目管理领域,CMMI(Capability Maturity Model Integration,能力成熟度模型集成)是一种用于评估组织过程成熟度和过程改进的模型。...
- 性能监控:使用SQL Server Profiler或其他工具分析存储过程的性能。 通过《SQL Server 2005 存储过程编程》这本书,读者可以全面了解和掌握SQL Server 2005中存储过程的各个方面,从基础概念到高级技巧,为...
### SPSS统计分析软件入门教程知识点总结 #### 一、数据的输入与保存 1. **数据录入格式**: - 每个观察对象的数据应独立存储在一行内,不同观察对象的数据不得在同一行中混合。 - 同一个测量指标或影响因素的...
本模块的主题是"网站统计分析",它涉及到对网站用户行为数据的收集、处理和可视化,以便于网站管理员和运营人员理解用户的行为模式,优化用户体验,提高网站性能和营销效果。下面将详细介绍这个模块涉及的关键知识点...
本题主要涉及了几个关键的数据库操作,包括统计分析、存储过程的编写与执行,以及数据转换。 首先,针对(1)统计离散数学成绩分布的问题,创建了一个名为SCC的表来存储各分数段的人数。通过插入语句初始化了表结构...
《药物临床试验质量管理规范——数据管理与统计分析部分》是针对药物研发过程中至关重要的一环,即临床试验的数据处理和分析的规范性文件。这个规范确保了药物临床试验过程中的数据质量和统计分析的科学性,从而保障...