Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 存储过程中查询序列值并用变量接收

1、创建一个序列
  1. -- Create sequence
  2. createsequence SEQ_TEST_JOB
  3. minvalue 1
  4. maxvalue 9999999999999999
  5. start with 2
  6. increment by 1
  7. cache 20;
2、创建包头
  1. CREATEORREPLACE PACKAGE PKG_TEST_JOB IS
  2. -- Author : ADMINISTRATOR
  3. -- Created : 2012-11-2 PM 11:35:40
  4. -- Purpose : 测试JOB定时运行
  5. FUNCTION F_TEST_JOB_SEQ RETURN NUMBER;
  6. END PKG_TEST_JOB;
3、创建包体
  1. CREATEORREPLACE PACKAGE BODY PKG_TEST_JOB IS
  2. -- Author : ADMINISTRATOR
  3. -- Created : 2012-11-2 PM 11:35:40
  4. -- Purpose : 测试JOB定时运行
  5. FUNCTION F_TEST_JOB_SEQ RETURN NUMBER IS
  6. V_JOB_SEQ NUMBER(10);
  7. BEGIN
  8. SELECT HUIW.SEQ_TEST_JOB.NEXTVAL INTO V_JOB_SEQ FROM DUAL;
  9. RETURN V_JOB_SEQ;
  10. END F_TEST_JOB_SEQ;
  11. END PKG_TEST_JOB;
注意红色字体:SELECT HUIW.SEQ_TEST_JOB.NEXTVAL INTO V_JOB_SEQ FROM DUAL;不能直接将序列值赋给变量,如:V_JOB_SEQ :=HUIW.SEQ_TEST_JOB.NEXTVAL;会产生错误:PLS-00357: 在此上下文中不允许表,视图或序列引用 "SEQ_TEST_JOB.NEXTVAL"Oracle Enterprise Linux 5安装Oracle 10g碰到的若干问题及解决方法通过Mysql-bin日志恢复还原数据相关资讯      oracle数据库教程  Oracle序列  Oracle变量 
  • Oracle查询序列  (03/13/2015 18:44:52)
  • 获取Oracle SQL语句中绑定变量值的  (07/17/2014 08:07:40)
  • Oracle DB 序列  (10/16/2013 11:50:05)
  • Oracle使用临时变量  (02/14/2015 11:16:34)
  • 如何获取Oracle share pool中没有  (03/20/2014 09:46:08)
  • Oracle raw数据类型介绍  (01/29/2013 10:05:53)
本文评论 查看全部评论 (0)
表情: 姓名: 字数