将 Oracle 序列 Nextval 返回到 C# 变量中

Posted

技术标签:

【中文标题】将 Oracle 序列 Nextval 返回到 C# 变量中【英文标题】:Return Oracle Sequence Nextval into C# Variable 【发布时间】:2017-04-25 14:10:24 【问题描述】:

我正在尝试从 oracle 序列中返回 nextval 并将值保存到变量中,直到现在我已经完成了连接,并且我已经使用了一些带有 c# 的 Oracle 包,但我并不擅长将 Oracle 与 C# 结合使用。

我知道我可以在插入查询中使用 [sequence_name].nextval,但是对于业务逻辑,我需要为许多记录使用相同的序列号,并且想法是将 nextval 存储到变量中并将其像参数一样传递给另一个 c#负责将“n”条记录插入表中的函数。

任何提示或代码示例都会有所帮助,非常感谢您的帮助。

【问题讨论】:

【参考方案1】:

您可以通过OracleCommand 获取 nextval

OracleCommand loCmd = Connection.CreateCommand();
loCmd.CommandType = CommandType.Text;
loCmd.CommandText = "select seqname.nextval from dual";
long lnNextVal = Convert.ToInt64(loCmd.ExecuteScalar());

【讨论】:

完美我错过了 cmd.ExecuteScalar() 部分非常感谢! 非常感谢,这解决了一个问题。

以上是关于将 Oracle 序列 Nextval 返回到 C# 变量中的主要内容,如果未能解决你的问题,请参考以下文章

获取从 C# (oracle) 调用的插入语句使用的序列号

Oracle中NEXTVAL 和 CURRVAL的使用

如何使用序列值将多行插入到 oracle 中?

oracle中的CURRVAL和NEXTVAL用法

oracle数据库,批量插入数据脚本

当向Oracle数据库中插入数据时,如何获取行ID