create or replace

Function GetInvitationNO(prev varchar2, num1 varchar2, num2 varchar2, sessionSetting varchar2)

Return Varchar2

Authid Current_User Is PRAGMA AUTONOMOUS_TRANSACTION;-- 需要使用“Current_User”的权限防止无法运行“Execute Immediate”命令 & “PRAGMA AUTONOMOUS_TRANSACTION”自制事务防止DML无法DDL的问题

Totalprev Varchar2(50);

Hassequences Number;

ReNO varchar2(50);

Begin

-- 号码的前缀

Totalprev := Prev || Num1 || Num2 || Sessionsetting;

-- 创建序列

Select Count(*) Into Hassequences From User_Sequences Where Sequence_Name=Totalprev;

If Hassequences <> 1 Then

Execute Immediate 'Create Sequence '||Totalprev||' Increment By 1 Start With 1 maxvalue 9999999 Nocycle';

End If;

-- 通过动态的序列名取序列值,把获取的序列值转换为7位长度的字符串,长度不足用“0”填充

Execute Immediate 'Select '''|| Totalprev ||''' || to_char('||Totalprev||'.Nextval,''FM0000000'') From Dual' into ReNO;

-- to_char()中FM后跟的0代表了数字的位数,不足的用“0”填充;加上“FM”可以避免空格的出现,前面的空格是为符号位保留的,如果是对负数使用to_char,则空格部分是用来显示-的,因为是正数,所以不显示+,而是以空格代替

Return ReNO;

end;

测试

Select GetInvitationNO('p', '1', '01', '114') From dual

-- Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的select语句块中

这就是微学网-程序员之家为你提供的"oracle生成动态前缀且自增号码的函数分享"希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/6443.html

oracle索引自增函数,oracle生成动态前缀且自增号码的函数分享相关推荐

  1. oracle索引使用例子,Oracle中利用函数索引处理数据倾斜案例

    关于B-Tree.Bitmap.函数索引的相关内容请参考另一篇博文: Oracle中B-Tree.Bitmap和函数索引使用案例总结 通常来说,索引选取的数据列最好为分散度高.选择性好.从索引树结构的 ...

  2. oracle 索引命中条件,Oracle索引命中与扫描规律总结 | 学步园

    索引扫描类型(该表取自网络文章): index unique scan(索引唯一扫描)通过唯一索引查找一个数值经常返回单个ROWID.如果该唯一索引有多个列组成(即组合索引),则至少要有组合索引的引导 ...

  3. oracle 索引-1无效,oracle 索引失效原因及解決方法

    一.以下的方法會引起索引失效 ‍1,<> 2,單獨的>, 3,like "%_" 百分號在前. 4,表沒分析. 5,單獨引用復合索引里非第一位置的索引列. 6,字 ...

  4. oracle索引重建并行,oracle重建索引(一)

    重建索引有多种方式,如drop and re-create.rebuild.rebuild online等.下面简单比较这几种方式异同以及优缺点: 首先建立测试表及数据: SQL> CREATE ...

  5. oracle索引未使用,oracle

    我正在使用Oracle 12C,我有以下代码 SELECT d.id, 'Status' "ImportStatus", p.importid "ImportID&quo ...

  6. oracle索引图文解析,oracle索引介绍(图文详解)

    针对数据库查询而言,数据库索引是一个必选择项,但针对如今的各种各样大中型数据库查询而言,数据库索引能够 进一步提高数据库查询的特性,以致于它变成了数据库查询不能缺乏的一部分. 数据库索引归类: 逻辑性 ...

  7. oracle 索引回表,oracle 索引简单总结

    建立索引时先进行排序,逻辑上分为Root(根块),Branch(茎块),leaf(叶子块).leaf中存在索引列的值.长度.和所在rowid,茎块存了指向具体茎块的指针,root块同理.这是逻辑上的划 ...

  8. oracle索引未使用,oracle - 未使用主键索引 - SO中文参考 - www.soinside.com

    首先,您应该考虑索引并不总是一个好主意. 如果Oracle必须从表中读取大多数数据,它将使用FULL TABLE SCAN,因为它比首先读取索引块然后再读取数据块更快.涉及太多的IO操作. 现在,回到 ...

  9. oracle 索引 序列,【Oracle】表、视图、序列、索引

    表(数据类型.约束).修改表结构 表的创建:create table 表名(字段名 数据类型 [约束]): 表的删除:drop table 表名: oracle表包括: 表名.字段.数据类型.[约束] ...

最新文章

  1. ai钢笔工具怎么描线_AI钢笔工具技巧,怎么画出完美的贝塞尔曲线
  2. Windows下完成端口移植Linux下的epoll
  3. java 编程题_最新JAVA编程题全集(50题及答案)92862
  4. 拆分命令_命令行生存指南:拆分与合并 | Linux 中国
  5. C++STL之fill()函数使用方法
  6. jasperReport Studio java报表设计(详细)
  7. 不让EditText打开就获取焦点
  8. Flutter之CupertinoSwitch和Switch开关组件的简单使用
  9. 网易云音乐广告CTR预估模型演进过程
  10. elementUI---使用按钮切换折叠侧边栏
  11. 《BDD100K: A Diverse Driving Dataset for Heterogeneous Multitask Learning》论文阅读笔记
  12. CUPS学习一:CUPS设计介绍。
  13. 《SRE Google运维解密》散文
  14. 乌镇互联网大会部分嘉宾分享要点实录
  15. RocketMq - Springboot2.x整合RocketMQ4.x - 发送消息(七)
  16. java编程自学教程笔记,大量教程
  17. 8086汇编基础 debug mov al,'a'或者mov ax,'ab'错误的
  18. 【openjudge】金银岛
  19. 中国的因特网低谷 ---- 2000:从希望云端到幻灭低谷
  20. 爱奇艺携手网心科技构建下一代混合CDN,入选IDC中国边缘云最佳实践

热门文章

  1. matlab_simulink笔记01——模块属性的设置以及模块参数的设置
  2. 学习笔记02:直播串讲02
  3. 思科查看服务器启动配置文件,启动配置检查UCS
  4. 联想u盘linux安装教程,联想笔记本用U盘安装 winXP系统教程
  5. 堰流实验报告思考题_堰流流量系数测定实验
  6. python 查看当前目录_「Python」打包分发工具setuptools学习
  7. 命令点亮硬盘灯_macOS下移动硬盘无法挂载且硬盘灯一直闪烁的解决方法
  8. python3.6.5怎么下载_windows下如何下载并安装Python 3.6.4 ?
  9. sudo apt-get update 与 sudo apt-get upgrate 的区别
  10. ECMA6--字符串/数组