0

我有以下查询,这给了我一个ORA-00935 missing expression错误,但我无法弄清楚我一生都搞砸了什么。我试过单独运行查询的几乎每个部分,它们都分开工作,但在一起我只会得到错误。我读过 SQL 在缺少表达式错误方面存在问题,但必须有一些更好的方法来编写此查询,以便它真正起作用。

Insert into V1144ENGINE.T_EDGES (EDGE_ID, VERSION, NODE1_ID, NODE2_ID, EDGE_TYPE_ID, CREATED_AT, WEIGHT, DELETED_AT)
   VALUES(V1144ENGINE.S_PK_EDGES.NEXTVAL,0,
       select NODE_ID from V1144ENGINE.T_NODES where NODE_NAME = 'Understand composition of an element',
       select NODE_ID from V1144ENGINE.T_NODES where NODE_NAME = 'Understand atoms as smallest units of matter', 3, SYSDATE, 1, NULL);

我独立运行了部分查询,所有这些都返回了我想要的结果。例如;

select V1144ENGINE.S_PK_EDGES.NEXTVAL from dual;

select NODE_ID from V1144ENGINE.T_NODES where NODE_NAME = 'Understand composition of an element'

如果有什么不同,我正在使用 Oracle 11g。

4

1 回答 1

2

我想你需要在子查询周围加上括号。

于 2012-07-02T14:09:31.783 回答