我的SQL语法有什么问题? (子查询全部独立运行,正确。)

时间:2012-07-02 14:01:47

标签: sql oracle oracle11g syntax-error

我有以下查询给出了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。

1 个答案:

答案 0 :(得分:2)

我猜你需要在子查询周围使用括号。