使用guid。获取方式:
select sys_guid() from dual;
SYS_GUID (),是Oracle 8i 后提供的函数。SYS_GUID产生并返回一个全球唯一的标识符(原始值)由16个字节组成。在大多数平台,生成的标识符由主机标符,执行函数的进程或者线程标识符,和进程或线程的一个非重复的值(字节序列)组成。可以用来生成唯一标识ID。
select sys_guid() as id,t.id as a from T_SMRZ t
union all
select sys_guid() as id,t.gsxxid as b from T_SMRZ t
select rowid,* from (你前面的代码) as t
可以用uuid
select sys_guid() from dual;
```sql
```
oracle里面应该也有concat(str1, str2) 这样的函数吧。
uuid
什么uuid,guid的,根本不解决问题
因为你问的本身就是个假问题
你要生成唯一id,总要有个原因吧,你生成了唯一id用来干什么?
如果是用来更新当前表
那么你这根本就是个视图,不是表,不可更新
如果是用来更新原始表,那么你的id才是对应原始表的id,新增的uuid根本和原始表没有一毛钱关系
问问题,要把最终要解决的真实问题放出来,不要只放半个方案,那是在给自己挖坑呢