首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在oracle中使用字符串创建序列号

问在oracle中使用字符串创建序列号
EN

Stack Overflow用户
提问于 2016-04-09 16:05:54
回答 1查看 174关注 0票数 0

我在oracle的create record trigger中使用以下代码来创建序列号。我想要像LM0001一样的序列号。将LM000字符串与number和concat一起使用以生成序列号。我收到错误ora-06502。在我做错的地方需要帮助。我应该在哪里修改代码

代码语言:javascript
复制
DECLARE
VCAN varchar2(40);
L number (10);
BEGIN
 SELECT MAX(SL_NO)INTO VCAN FROM LAND_MANAGEMENT;
IF VCAN > 0 THEN
  L := VCAN + 1;
  :LAND_MANAGEMENT.SL_NO := 'LM000' || L;
ELSE
    :LAND_MANAGEMENT.SL_NO := 'LM000' || 1;
END IF;
EXCEPTION
 WHEN NO_DATA_FOUND THEN
  :LAND_MANAGEMENT.SL_NO := 'LM000'|| 1;
END;
EN

回答 1

Stack Overflow用户

发布于 2016-04-09 19:53:14

使用序列解决了问题

创建序列

代码语言:javascript
复制
 CREATE SEQUENCE LMANAGEMENT_SEQ 
  START WITH 21   
 MAXVALUE 9999999999999999999999999999   
 MINVALUE 0   
 NOCYCLE  
 CACHE 20  
 NOORDER;

when-create-record触发器中的sql查询

代码语言:javascript
复制
select 'LM' || to_char(lmanagement_seq.nextval, '000000') INTO      
:land_management.sl_no
from dual;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36514335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档