IT咨询服务数据库SQL

HANA的表如何实现类似T-SQL的IDENTITY(1,1)主键自增?

请教如何实现类似T-SQL的IDENTITY(1,1)主键自增?

    HANA SQL 没有类似T-SQL的IDENTITY(1,1),但有类似oracle的序列对象。
    是否可以通过序列+触发器实现主键自增的功能?怎么实现?
   我曾试图仿造oracle用序列+触发器进行HANA表主键ID的自增,可是HANA的触发器不能对自身表进行操作,所以没办法用这样的方法。
   请问有什么高招可以实现用序列做主键的自增,或者其他方式 求解?
参与3

3同行回答

zwlshyzwlshy项目经理北京兴竹同智信息技术股份有限公司
不知道怎么关闭问题,反正问题已经解决了,答案在2楼。goalfish 发表于 2014-1-17 12:40 登论坛,在最佳回帖 右下角 单击 “最佳答案”。 自己的贴不可以作为最佳答案:L显示全部
不知道怎么关闭问题,反正问题已经解决了,答案在2楼。
goalfish 发表于 2014-1-17 12:40


登论坛,在最佳回帖 右下角 单击 “最佳答案”。 自己的贴不可以作为最佳答案:L收起
IT咨询服务 · 2014-02-10
浏览2748
goalfishgoalfish软件开发工程师特步(中国)有限公司
不知道怎么关闭问题,反正问题已经解决了,答案在2楼。显示全部
不知道怎么关闭问题,反正问题已经解决了,答案在2楼。收起
IT咨询服务 · 2014-01-17
浏览2812
goalfishgoalfish软件开发工程师特步(中国)有限公司
问题先关闭了,已经有人帮忙,得到解决方案了。1.直接用序列号实现的是在insert语句进行指定序列的下一个值seq.nextval,如下例子:insert into "SYSTEM"."A"(TM)SELECT "SYSTEM"."SEQ".NEXTVAL AS TM FROM DUMMY2.我是要用Data Service 抽取数据到HANA的表,目标表想要自动生成一...显示全部
问题先关闭了,已经有人帮忙,得到解决方案了。

1.直接用序列号实现的是在insert语句进行指定序列的下一个值seq.nextval,如下例子:
insert into "SYSTEM"."A"(TM)
SELECT "SYSTEM"."SEQ".NEXTVAL AS TM FROM DUMMY

2.我是要用Data Service 抽取数据到HANA的表,目标表想要自动生成一个流水号内码,现在通过Data Service 自带的key generation 生成唯一主键了,具体查看插图。key generation 是自动获取目标表的最大值再进行自增,算是累积自增。但若有多个job并发执行还是会生成相同的key。多个并发job执行对目标表的插入的情况可以采用在目标表增加一个字段根据不同的DS-job存储不同的常量值,并与原先的ID字段共同作为复合主键。收起
IT咨询服务 · 2014-01-17
浏览2857

提问者

goalfish
软件开发工程师特步(中国)有限公司

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2014-01-15
  • 关注会员:0 人
  • 问题浏览:5316
  • 最近回答:2014-02-10
  • X社区推广