Oracle 隐式游标 存储过程
--隐式游标 注意变量赋值用(:=) 连接符用(||)而不是加号(+)
DECLARE
v_pk T_PLAT_KEYWORD.ID%TYPE; --主键
v_amount_message T_PLAT_KEYWORD_STATISTIC.AMOUNT%TYPE;
v_amount_talk T_PLAT_KEYWORD_STATISTIC.AMOUNT%TYPE;
CURSOR CUR IS
SELECT DISTINCT B.NAME,B.TYPE,B.WEIXIN_PK FROM T_PLAT_KEYWORD B;
BEGIN
FOR MY_CUR IN CUR LOOP
v_pk:=SEQ_PLAT_KEYWORD_STATISTIC.NEXTVAL; --主键赋值 SELECT COUNT(1) INTO v_amount_message FROM T_WEBCALL_TALK A WHERE TO_CHAR(SUBSTR(A.CONTENT,0,1000)) LIKE '%'||MY_CUR.NAME||'%';
SELECT COUNT(1) INTO v_amount_talk FROM T_WEIXIN_MESSAGE T WHERE T.MESSAGE LIKE '%'||MY_CUR.NAME||'%'; INSERT INTO T_PLAT_KEYWORD_STATISTIC (ID,NAME,AMOUNT,WEIXIN_PK,TYPE,CREATE_TIME)
VALUES (v_pk,MY_CUR.NAME,(v_amount_message+v_amount_talk),MY_CUR.WEIXIN_PK ,MY_CUR.TYPE,to_char(SYSDATE,'yyyy-MM-dd HH:mm:ss'));
END LOOP;
END; --DELETE FROM T_PLAT_KEYWORD_STATISTIC
--SELECT to_char(SYSDATE,'yyyy-MM-dd HH:mm:ss') FROM dual
--TO_CHAR(SUBSTR(A.CONTENT,0,1000)) 将clob转换成字符串
-- Create sequence 创建序列
/*create sequence SEQ_PLAT_KEYWORD_STATISTIC
minvalue 1
maxvalue 999999999999
start with 11
increment by 1
nocache;*/ --将游标加入到存储过程
CREATE OR REPLACE PROCEDURE PLAT_KEYWORD_STATISTIC IS
V_PK T_PLAT_KEYWORD.ID%TYPE; --主键
V_AMOUNT_MESSAGE T_PLAT_KEYWORD_STATISTIC.AMOUNT%TYPE;
V_AMOUNT_TALK T_PLAT_KEYWORD_STATISTIC.AMOUNT%TYPE;
CURSOR CUR IS
SELECT DISTINCT B.NAME, B.TYPE, B.WEIXIN_PK FROM T_PLAT_KEYWORD B;
BEGIN
FOR MY_CUR IN CUR LOOP
V_PK := SEQ_PLAT_KEYWORD_STATISTIC.NEXTVAL; --主键赋值 SELECT COUNT(1)
INTO V_AMOUNT_MESSAGE
FROM T_WEBCALL_TALK A
WHERE TO_CHAR(SUBSTR(A.CONTENT, 0, 1000)) LIKE
'%' || MY_CUR.NAME || '%';
SELECT COUNT(1)
INTO V_AMOUNT_TALK
FROM T_WEIXIN_MESSAGE T
WHERE T.MESSAGE LIKE '%' || MY_CUR.NAME || '%'; INSERT INTO T_PLAT_KEYWORD_STATISTIC (ID, NAME, AMOUNT, WEIXIN_PK, TYPE, CREATE_TIME) VALUES (V_PK, MY_CUR.NAME, (V_AMOUNT_MESSAGE + V_AMOUNT_TALK), MY_CUR.WEIXIN_PK, MY_CUR.TYPE, TO_CHAR(SYSDATE, 'yyyy-MM-dd HH:mm:ss'));
END LOOP;
EXCEPTION
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE('返回值多于1行');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('关键字统计存储过程出错!');
END PLAT_KEYWORD_STATISTIC;
Oracle 隐式游标 存储过程的更多相关文章
- Oracle游标cursor1基础和隐式游标
--指向表行的指针,一次一行,一般向前移动 Resultset --游标永远代代表的是一行数据. /* 使用步骤 第一步:声明游标,就像是声明一个变量样. 游标的关键字就是cursor. Declar ...
- 【Oracle】PL/SQL 显式游标、隐式游标、动态游标
在PL/SQL块中执行SELECT.INSERT.DELETE和UPDATE语句时,Oracle会在内存中为其分配上下文区(Context Area),即缓冲区.游标是指向该区的一个指针,或是命名一个 ...
- ORACLE的显式游标与隐式游标
1)查询返回单行记录时→隐式游标: 2)查询返回多行记录并逐行进行处理时→显式游标 显式游标例子: DECLARE CURSOR CUR_EMP IS SELECT * FROM EMP; ROW_E ...
- oracle的隐式游标
游标的概念: 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义.游标的作用就是用于临时存储从数据库中提取的数据块.在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理, ...
- Oracle异常处理内容,隐式游标
异常处理 create or replace procedure pr_test3(v_bh in varchar2,v_xx out t_hq_ryxx%rowtype) is begin sele ...
- Oracle pl/sql 显示游标和隐式游标
显示游标 一.定义语法: CURSOR <游标名> IS <SELECT 语句> [FOR UPDATE | FOR UPDATE ...
- PL/SQL -->隐式游标(SQL%FOUND)
PL/SQL -->隐式游标(SQL%FOUND) 分类: SQL/PLSQL 基础2010-12-22 16:23 4084人阅读 评论(0) 收藏 举报 sqlexceptionoracle ...
- PL/SQL — 隐式游标
一.隐式游标的定义及其属性 定义 隐式游标由系统自动定义,非显示定义游标的DML语句即被赋予隐式游标属性.其过程由oracle控制,完全自动化.隐式游标的名称是SQL,不能对SQL游标显式地执行OPE ...
- ORACLE隐式类型转换
隐式类型转换简介 通常ORACLE数据库存在显式类型转换(Explicit Datatype Conversion)和隐式类型转换(Implicit Datatype Conversion)两 ...
随机推荐
- cygwin设置
解决乱码问题 # 设置为中文环境,使提示成为中文 export LANG =" zh_CN.UTF-8 " # 输出为中文编码 export OUTPUT_CHARSET =& ...
- OpenGL 之 坐标变换
http://www.cnblogs.com/irvinow/archive/2009/11/20/1606496.html 创建OpenGL模型过程: OPENGL坐标变换很有特点,为了简单描述先定 ...
- Linux高端内存映射(上)【转】
转自:http://blog.csdn.net/vanbreaker/article/details/7579941 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 高端内 ...
- java基础练习 13
import java.util.Scanner; public class Thirtheen { /*输入某年某月某日,判断这一天是这一年的第几天?*/ public static void ma ...
- springBoot开启热部署
springBoot开启热部署 这里使用devtools工具开启热部署 〇.搭建springbboot基础环境 一.添加依赖 <dependency> <groupId>org ...
- Curl请求方法封装
/** * GET请求 * @param $url * @return bool|mixed */ function http_get($url) { $oCurl = curl_init (); i ...
- 本地添加maven支持
第一步:添加maven支持,去Apache maven官网下载maven, 解压 在conf文件夹里有个settings.xml,这个是需要自己配置的,不然的话也会有默认,只是那样的话会在C盘了,不喜 ...
- ZOJ 3940 Modulo Query (2016年浙江省赛E题,区间折叠 + map运用)
题目链接 2016 ZJCPC Problem E 考虑一个开区间$[0, x)$对$a_{i}$取模的过程. $[0, x)$中小于$a_{i}$的部分不变,大于等于$a_{i}$的部分被切下来变 ...
- Frequency
题目描述 Snuke loves constructing integer sequences. There are N piles of stones, numbered 1 through N. ...
- POJ 2785 4 Values whose Sum is 0(哈希表)
[题目链接] http://poj.org/problem?id=2785 [题目大意] 给出四个数组,从每个数组中选出一个数,使得四个数相加为0,求方案数 [题解] 将a+b存入哈希表,反查-c-d ...