存储过程(2)----Oracle
来源:互联网 发布:手机验证码php源码 编辑:程序博客网 时间:2024/06/05 21:57
上一篇介绍的是mysql的存储过程的一些语法
如:concat在Oracle里是没有的,Oracle拼接字符是用‘||’
Oracle用游标是这样的
CREATE OR REPLACE PROCEDURE UPDATE_SNS_USERSCORE(table_name in varchar2) as TYPE i_rowid IS TABLE OF ROWID; v_i_rowid i_rowid; type ref_cursor is ref cursor; c_rowid ref_cursor; v_errmsg varchar2(1024); BEGIN OPEN c_rowid FOR 'SELECT rowid FROM '||table_name ; LOOP fetch c_rowid bulk collect into v_i_rowid LIMIT 1000; FORALL i IN 1 .. v_i_rowid.COUNT EXECUTE IMMEDIATE 'UPDATE '|| table_name||' SET SNS_SCORE=0,READ_SCORE=0,FIRST_RANK=1,SECOND_RANK=1,THIRD_RANK=1,LOGIN_FLAG=0,UPDATE_TIME=SYSDATEWHERE rowid = :1'USING v_i_rowid(i);COMMIT;exit when c_rowid%NOTFOUND;END LOOP;COMMIT;close c_rowid; exception when others then rollback; v_errmsg := 'sqlexception~~sqlcode:' || to_char(sqlcode) || ' sqlstate:' || substr(sqlerrm, 1, 512); prc_iread_sys_writelog(2, 4, 'UPDATE_SNS_USERSCORE', v_errmsg, ''); commit;end UPDATE_SNS_USERSCORE;
type wmshuaiqi:定义类型变量
execute immediate的简单用法(oracle)
create or replace procedure proc_test(--参数区域)is --变量区域 --sql脚本 v_sql varchar2(2000) :=''; --记录学生数量 v_num number;begin--执行区域 -- execute immediate用法1:立刻执行sql语句 v_sql := 'create or replace view myview as select id,name from student'; execute immediate v_sql; --- execute immediate用法2:立刻执行sql语句,并赋值给某个变量 v_sql := 'select count(1) from student'; execute immediate v_sql into v_num; -- execute immediate用法3:带参数的sql v_sql:='select * from student t where t.name=:1 and t.age=:2'; execute immediate v_sql using 'ZhangSan',23; end proc_test;
阅读全文
0 0
- 存储过程(2)----Oracle
- oracle存储过程2
- oracle存储过程2
- Oracle存储过程2
- ORACLE存储过程的创建(2)
- oracle 存储过程基础知识2
- Oracle存储过程实例2
- oracle存储过程调用2
- Oracle入门-2存储过程
- Oracle 存储过程实例2
- oracle 存储过程心得2
- Oracle存储过程(转)
- Oracle存储过程(转)
- Oracle存储过程(1)
- oracle存储过程学习(-)-基本过程
- oracle之存储过程2-创建存储过程
- ORACLE存储过程(二)之存储过程的调用
- Oracle存储过程笔记2:动态SQL(MERGE INTO )
- abcd
- 牛客网华为在线训练---提取不重复的整数
- cef native C++ interaction with JS
- UVA Live 6129 (Codeforces Gym 100642H) Sofa, So Good 最小费用流
- Gson解析最外层是数组
- 存储过程(2)----Oracle
- web前端(javascript)
- sort-colors&Remove Duplicates from Sorted Array
- [编程题] 最大乘积
- 集合(四)Set及其子类
- poj 1502 MPI Maelstrom Dijkstra
- html小例子
- 目标检测RON网络安装运行记录
- 使用netty和messagepack编写网络请求