使用Oracle数据库输入以下语句:“ ORA-00936:缺少表达式”,如何解决?

问题描述

| 嗨,我正在使用oracle数据库。进入以下语句。\“ ORA-00936:缺少表达式\”
string sqlquery = (\"select parent from tn2 where CONNECT BY PRIOR child=\" + node);
        string connectionString = \"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.60.212.62)(PORT=1521)))(CONNECT_DATA=(SID=orcl)));User Id=apex_demo;Password=apex_demo;\";
        OracleConnection con = new OracleConnection(connectionString);
        con.open();
        OracleDataAdapter adapter = new OracleDataAdapter(sqlquery,con);
        adapter.Fill(objDT1);
        con.Close();
    

解决方法

        删除SQL语句末尾的分号。从.NET执行SQL语句时,不允许这样做。 另外,here1ѭ在这里无效,因为您没有提供条件。
CONNECT BY PRIOR
不是
where
条件,而是其自身的构造。有关如何使用
CONNECT BY PRIOR
的更多信息,请参见此处。