我有两个oracle查询。在我插入的第一个查询中,我插入Sequesnce Next值(nextval)然后我需要将它插入到下一个查询。我需要返回当前值(currval)。
错误是:
ORA-01036:非法变量名称/编号
我认为这发生在currval函数中? 查询
string query = @"INSERT INTO TBL_TICKET_TYPE(NewsID,NAME)
VALUES(newsid.nextval,:NAME)";
cmd = db.GetSqlStringCommand(query);
db.AddInParameter(cmd, "NAME", DbType.String, TicketTypes.NAME);
db.ExecuteNonQuery(cmd);
//String query3 = "Select newsid.currval from dual";
String query2 = "INSERT INTO TBL_TICKET_TYPE_TAX(TICKETTYPEID,TAXID)VALUES(newsid.currval,:LINENO)";
cxd = db.GetSqlStringCommand(query);
db.AddInParameter(cxd, "LINENO", DbType.Int32, 1);
db.ExecuteNonQuery(cxd);
答案 0 :(得分:0)
您需要做的是从查询开始,以获取newsid.nextval
并将结果放入变量:
SELECT newsid.nextval FROM dual;
然后,您可以在query
(代替newsid.nextval
)和query2
(代替newsid.currval)中使用此变量。
希望这有帮助。