ORACLE DB:插入一行并将变量返回给标量查询

时间:2017-04-21 08:37:49

标签: c# oracle oracle12c executescalar

环境:

  • Oracle DB(12c)
  • 调用db的C#应用​​程序

预期的结果是在表中添加新行并返回一个id列,该列使用序列自动递增。

调用者是一个c#应用程序,它使用executeScalar来执行sql命令。

我使用这个sql脚本:

DECLARE
  NEW_ID NUMBER;

BEGIN
  INSERT INTO Users
  (username)
  VALUES ('newName')
  RETURNING userId INTO NEW_ID;
END;

似乎正在执行并插入新行。

问题

问题是当使用executeScalar方法从c#应用程序执行此脚本时,它应该返回返回结果的第一行的第一列。 我收到空(不是DBNull)。

,而不是接收值

'RETURNING'关键字是不是用于标量查询,还是问题在其他地方蔓延?

修改

用于递增列的触发器:

enter image description here

0 个答案:

没有答案