ORA-00936:缺少表达

时间:2012-05-22 13:38:32

标签: sql oracle

你能帮我知道我的sql中可能出现的错误吗?ORA-00936:我错过了表达错误,但我找不到错误。

CREATE TYPE T_ordRef AS OBJECT (
   Ordi REF T_Ordinateur
);
CREATE TYPE T_ordRefs AS TABLE OF REF T_ordRef ;

INSERT INTO THE (SELECT INSTALLESUR FROM LOGICIEL WHERE NUMERO='1')
VALUES (T_ORDREFS( T_ORDREF(SELECT REF(v) 
FROM ORDINATEUR v WHERE v.NUMSERIE='1') ));

错误:

  

Erreuràlaligne de commande:81,colonne:34 Rapport d'erreur:   Erreur SQL:ORA-00936:缺少表达式   00936. 00000 - “缺少表达”   *原因:
  *操作:

1 个答案:

答案 0 :(得分:2)

您在创建类型的行之后缺少/:

CREATE TYPE T_ordRef AS OBJECT ( Ordi REF T_Ordinateur );
/  -- important!

CREATE TYPE T_ordRefs AS TABLE OF REF T_ordRef ;
/  -- important!

此外,您的insert into完全错误,因为您不允许在为列名保留的部分中选择。
不幸的是,我无法纠正它,因为我甚至不明白它应该做什么。