Oracle PL/SQL编程学习笔记:序列和自动编号

 首先在PL/SQL中创建一个序列,右键单击Sequences节点,点击【新建】,弹出对话框。

对应的PL/SQL语句:

1 -- Create sequence 
2 create sequence IN_OUT_SEQ
3 minvalue 0
4 maxvalue 9999999
5 start with 200
6 increment by 1
7 cache 20;

在存储过程中调用(黄色部分),这样就实现了字段的自动编号:

复制代码
 1 create or replace procedure SENDERINOUTREPORT_INSERT(
 2 V_SENDER_ID in NVARCHAR2,
 3 V_IN_BRANCH_ID in NVARCHAR2,
 4 V_IN_REPORT_TIME in DATE,
 5 V_IN_FLAG in NUMBER,
 6 V_INDATE in DATE) is
 7 v_num NUMBER:=0;
 8 begin
 9   select count(IN_OUT_ID) into v_num from SENDERINOUTREPORT 
10   where SENDER_ID=V_SENDER_ID and INDATE =to_date(to_char(V_INDATE,'yyyy-mm-dd'),'yyyy-mm-dd');
11   if (v_num=0)  then
12   insert into SENDERINOUTREPORT(IN_OUT_ID,SENDER_ID,IN_BRANCH_ID,IN_REPORT_TIME,
13   IN_FLAG,INDATE) values(IN_OUT_SEQ.NEXTVAL,V_SENDER_ID,V_IN_BRANCH_ID,V_IN_REPORT_TIME,
14   V_IN_FLAG,to_date(to_char(V_INDATE,'yyyy-mm-dd'),'yyyy-mm-dd'));
15   end if;
16 end SENDERINOUTREPORT_INSERT;
复制代码

 

posted @   太一吾鱼水  阅读(501)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示