Sequence 我们在Sybase中有序列吗

Sequence 我们在Sybase中有序列吗,sequence,sybase,Sequence,Sybase,我看到教程用语法和示例讨论序列 但当我尝试通过Squirrel在Syabse中创建序列时,我得到以下错误 Error: 'SEQUENCE' is not a recognized CREATE option. SQLState: ZZZZZ ErrorCode: 155 那么我们如何在Sybase中创建自动递增唯一标识符呢 我们如何按顺序使用标识。为什么序列在一个Sybase版本中可用而在另一个版本中不可用 我使用下面的依赖项连接到sybase <dependency>

我看到教程用语法和示例讨论序列

但当我尝试通过Squirrel在Syabse中创建序列时,我得到以下错误

Error: 'SEQUENCE' is not a recognized CREATE option.

SQLState:  ZZZZZ
ErrorCode: 155
那么我们如何在Sybase中创建自动递增唯一标识符呢

我们如何按顺序使用标识。为什么序列在一个Sybase版本中可用而在另一个版本中不可用

我使用下面的依赖项连接到sybase

 <dependency>
    <groupId>com.sybase.jdbcx</groupId>
    <artifactId>jconn3</artifactId>
    <version>6.0</version>
</dependency>

com.sybase.jdbcx
jconn3
6

Sybase ASE中不存在作为对象的序列(假设)。等效功能是使用标识列完成的

create table test_tab (
    test_tab_id     int          identity,
    test_tab_name   varchar(30)  not null )
go

insert into test_tab (test_tab_name) values ('Hello') 
go
insert into test_tab (test_tab_name) values ('World') 
go
select * from test_tab
go
结果

(1行受影响)

(1行受影响)

测试选项卡id测试选项卡名称


(受影响的2行)


附加标识的另一点是:

截断表并插入数据后,将获取标识的旧值,然后递增

例如:

select * from test_tab
go

2 rows 
1 hello
2 world

Truncate the table test_tab
go


insert into test_tab (test_tab_name) values ('Hai') 
go
insert into test_tab (test_tab_name) values ('done') 
go
select * from test_tab
go
你将得到如下结果

3 hai
4 done

我们可以为每个组合分配序列吗

例如。 1 ABC

   2 ABC

   3 ABC

   4 ABC

  1  KLO

  2  KLO

  3  KLO

Sybase是一家公司,不是数据库。您需要指定所指的产品。您链接到的文档是针对Sybase IQ的,这就是您正在使用的吗?@Michael:我已经用我在应用程序中使用的jar进行了编辑。我使用SQuirreL SQL客户端进行连接。如何获取最新的标识值?就像我们在sql中用currval()表示序列一样。
   2 ABC

   3 ABC

   4 ABC

  1  KLO

  2  KLO

  3  KLO