DECLARE
iv_user_id NUMBER(16):= TO_NUMBER(:USER_ID);
BEGIN
:CODE := -1;
:INFO := 'TRADE OK!';
FOR i IN (SELECT trade_id FROM tf_b_trade WHERE exec_time>SYSDATE AND user_id=iv_user_id AND trade_type_code IN (110,111)) LOOP
UPDATE tf_b_trade_svc
SET modify_tag='4'
WHERE trade_id=i.trade_id
AND service_id BETWEEN 13 AND 19;
END LOOP;
:CODE := 0;
END;
iv_user_id NUMBER(16):= TO_NUMBER(:USER_ID);
BEGIN
:CODE := -1;
:INFO := 'TRADE OK!';
FOR i IN (SELECT trade_id FROM tf_b_trade WHERE exec_time>SYSDATE AND user_id=iv_user_id AND trade_type_code IN (110,111)) LOOP
UPDATE tf_b_trade_svc
SET modify_tag='4'
WHERE trade_id=i.trade_id
AND service_id BETWEEN 13 AND 19;
END LOOP;
:CODE := 0;
END;
解决方案 »
- impdp 导入问题
- orcale 用游标输出多行数据集(动态select语句)?
- oracle保存的问题
- oracle 数据库在机器重启后出现监听状态未知,请高手帮忙
- [求助]为什么不执行"新建数据库里的存储过程"?
- 【请大家来讨论一下Oracle的锁表机制】--- EXCLUSIVE&SHARE(共享和独占方式)在实际使用时都有些什么区别
- 无奈啊无奈,资料档案库怎么都建不起来,总是出错~,唉~
- 关于一个Oracle简单的SQL拼接问题
- 阿里云服务器mysql创建数据库失败,无法用navicat连接,求大神帮忙
- window7安装oracle11g
- oracle 创建用户
- Oracle存储过程怎么写?
,若要执行该块,在sqlplus里直接执行即可....
DECLARE
iv_user_id NUMBER(16):= TO_NUMBER(&USER_ID); --&USER_ID是绑定变量
BEGIN
null;
END;
在sqlplus中执行:
SQL> DECLARE
2 iv_user_id NUMBER(16):= TO_NUMBER(&USER_ID);
3
4 BEGIN
5
6 null;
7 END;
8 /
输入 user_id 的值: 5
原值 2: iv_user_id NUMBER(16):= TO_NUMBER(&USER_ID);
新值 2: iv_user_id NUMBER(16):= TO_NUMBER(5);PL/SQL 过程已成功完成。
create or replace procedure v_p(v_num in number)
as
iv_user_id number;
begin
iv_user_id := v_num;
dbms_output.put_line('iv_user_id:'||iv_user_id);
end;
在sqlplus中执行:
SQL> create or replace procedure v_p(v_num in number)
2 as
3 iv_user_id number;
4 begin
5 iv_user_id := v_num;
6 dbms_output.put_line('iv_user_id:'||iv_user_id);
7 end;
8 /过程已创建。
--调用
begin
v_p(5);
end;
SQL> set serveroutput on
SQL> begin
2 v_p(5);
3 end;
4 /
iv_user_id:5PL/SQL 过程已成功完成。