oracle数据库表中,插入数据的时候如何产生一个 字母+数字 编号?

Oracle 语句中“||”代表什么啊?

oracle数据库表中,插入数据的时候如何产生一个 字母+数字 编号?

排序的话,用order by来处理即可。比如:cola123a234b999b335select * from tablename order by col;

结果就是

cola123a234b335b999

如果按倒序排列:select * from tablename order by col desc;

结果就是

colb999b335a234a123

其他回答

先创建一个sequence
然后给插入数据的表写个trigger;before insert 的时候 设置这个字段的值为
SD||sequence.nextval

追问

不是很明白,不知道这位大哥,能否贴出一个例子...

追答

create sequence seq_1 start with 1 nocache;seq_1为序列名称触发器如下:

create trigger xxx_id_trg --trigger namebefore inserton table_name for each row begin :new.column_name:=SD||lpad( seq_1.nextval,6,‘0‘);end;

追问

--users 是表名,包括两个字段, u_id 和 u_name--seq_1 是序列名--u_id  是列名,也就是要生成编号的列,类型为varchar2型--序列已经创建,名字为 seq_1create trigger user_id_trgbefore inserton users                             for each row begin  :new.u_id:=SD||lpad(seq_1.nextval,6,‘0‘);end;--执行插入的时候报错,触发器无效insert into users(u_name) values(‘a‘)

更多追问

本回答被提问者采纳

moreazy | 发布于2012-03-22

举报| 评论

=================

2 0

create sequence 表名_seq increment by 1 start with 100000001 nocache;

insert into 表名(字段,字段,字段,字段)
values(‘SD‘||表名_seq.nextval,‘张三‘,‘123‘,‘Y‘);

这个东西又没什么逻辑的,不知道楼主究竟要怎样的效果

追问

嗯,说的有点道理,如何产生一个字母+日期+数字(数字是自增的) 例如:  AC20120330001的代码呢?

patooo | 发布于2012-03-27

举报| 评论

=============

2 0

建一个自增列id,像000001这样。那么SD||id就等于SD000001了

原文地址:https://www.cnblogs.com/hfultrastrong/p/8278383.html

时间: 2024-10-13 22:53:14

oracle数据库表中,插入数据的时候如何产生一个 字母+数字 编号?的相关文章

第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据

第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据 ADO.NET 为什么要学习? 我们要搭建一个平台(Web/Winform)让用户方便的操作数据库中的数据. 什么是ADO.NET 是一组库类,System.Data. Ado.net组成 Connection:用来连接数据库 Command:用来执行SQL语句 DataReader:只读.只进的结果集,一条一条读取数据(SteamReader.XmlReader) Da

Oracle 数据库表中已有重复数据添加唯一键(唯一约束)

Oracle 数据库表中已有重复数据添加唯一键(唯一约束) 问题描述 以 demo 举例,模拟真实场景. 表 TEST_TABLE 有如下字段和数据:id 是主键,code 没有设置键和索引 ID CODE 1 code1 2 code2 3 code2 4 code2 5 code3 通过以上表中数据可以看出 code 是有重复数据的,此时如果我们直接添加唯一键,会报错. 通过 PL/SQL 可视化操作,或者通过 SQL 语句添加(ENABLE NOVALIDATE 的作用是约束新增数据但不会

定时从一个数据库表中的数据存储到另外一个数据库中的表,而且怎么处理重复的数据?

原文:http://www.iteye.com/problems/77856 定时从一个数据库表中的数据存储到另外一个数据库中的表,而且怎么处理重复的数据? 表结构肯定是不能破坏,但是临时表如果是自己的数据库还行,问题是这个Oracle数据库是客户的数据库呢,你不能在他的数据库做任何多余的操作吧?还有别的更好的方法吗? 这个真的是比较困难. 首先,你要从客户机oracle取数据,因为这1分钟间隔之内不知道用户机新增加了哪些数据(大部分情况下是用户使用别的系统插入数据,而你又没有这个系统的程序接口

Hive通过查询语句向表中插入数据过程中发现的坑

前言 最近在学习使用Hive(版本0.13.1)的过程中,发现了一些坑,它们或许是Hive提倡的比关系数据库更加自由的体现(同时引来一些问题),或许是一些bug.总而言之,这些都需要使用Hive的开发人员额外注意.本文旨在列举我发现的2个通过查询语句向表中插入数据过程中的问题,希望大家注意. 数据准备 为了验证接下来出现的问题,需要先准备两张表employees和staged_employees,并准备好测试数据.首先使用以下语句创建表employees: create table employ

建立触发器后,不能像表中插入数据,是什么原因

建立触发器后,不能像表中插入数据,是什么原 USE [cai2016]GO/****** Object:  Trigger [dbo].[trigger_yunum]    Script Date: 2017/3/29 17:30:30 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOalter trigger [dbo].[trigger_yunum] on [dbo].[newmoo_case_cgxd]   for  insert a

oracle数据库,覆盖插入数据---- merge into

在开发中我们经常会碰到这么一个场景,列如用户修改简单的个人基本信息,这个时候就需要判断用户的基本信息是否存在,如果是首次录入不存在就在表中插入一条信息,如果存在就更新表里的信息. 要实现这种这种场景很简单,我们最常用的就是先查询一下用户的基本信息,执行一下select方法,如果数据存在就执行update方法,如果不存在就就执行insert 方法.这是一种解决思路. 当只是很简单的条件判断时,我们也有另外一种数据库层面的解决思路就是merge into ,很多数据库都有这种语句,因为我用的orac

以使用QSqlQuery向数据库中插入数据为例,做一个小结

背景: 最近在使用Qt+SQLite写一个本地数据库管理程序(使用者不懂SQL),在写向数据库中插入数据的 相关的函数时,我遇到了几个问题(暂时就这些): 1.向指定字段插入指定数据时,读取到的数据都是字符串类型,然而不同字段的数据类型是不同的,这 里需要获取不同字段的数据类型,再做类型转换 2.使用QSqlQuery插入数据时,具体实现的考虑 3.在实现一个功能时,是先将功能做出来,然后对一些最初未考虑到的问题慢慢补足,还是先尽可能考 虑到所有情况,再实现相关功能 4.此时某个函数的实现,是否

把一个数据库表中的数据插入到另外一个数据库中的一张表中

数据库表结构不同 INSERT INTO [CodeFirstDbContext].[dbo].[Companies](CompanyID,CompanyName,Manager,CompanyType,IsDelete) SELECT CompID,Company,CName,ctype,0 FROM [YFDB2012].[dbo].[Company] 数据库表结构相同 INSERT INTO [CodeFirstDbContext].[dbo].[Companies] SELECT * F

使用sqlldr命令导入资料到Oracle数据库表中的示例说明

CSV: Comma-Separated Values(逗号分隔值)的缩写,是以逗号分隔字段的多行文本文件 sqlldr 是sql*loader的缩写,此工具在安装完整版的Oracle客户端后就有 使用sqllldr可以将有规律的文本数据(如csv)导入数据表 导入示例:将csv文本文件andon.txt导入到manpowertest中的testandon表中 testandon表结构 create table TESTANDON ( build_no VARCHAR2(5), device_n