获取序列名称(Oracle)?

1 java database oracle sequence

我没有权限查看数据库,但我有能力创建数据库对象(通过xml文件).xml文档说如果我将名为"identity"的属性设置为true,那么将创建一个序列.我是否可以编写将返回序列名称的逻辑,以便在编写INSERT语句时可以使用nextVal?

罗伯特

这是文档,找到"身份"这个词......

Hor*_*rus 6

如果您可以运行select语句,那么您可以尝试从user_sequences中选择*以获取序列的名称.否则,您是否可以发送您正在使用的此数据库创建实用程序的文档(如果它是公共的).否则,回答这个问题将非常困难.

编辑:

在审查了文档之后,它说如果你创建了一个带有主键的表,它会创建一个包含以下规则的序列,直接从文档中引用:

主键必须包含一个columnref子元素,该子元素包含一个属性name,该属性引用要包含在主键中的列名.在SQL Server中,密钥被映射为具有自动递增值的标识字段.在Oracle上,将使用表名加_seq后缀自动创建序列.

因此,您的查询将是:

select_ from all_sequences其中sequence_name = upper(tablename ||'_SEQ');

  • sqldeveloper是免费的,它冻结了很多,但如果你没有更好的东西访问许可证,这是有点必要的.链接到这里:http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html (3认同)