比如在sqlplus中一条查询语句
select * from record where rec_id="QQQQQQQ....QQ";
QQQQQQQ....QQ长度超过30个字符了
会报错ORA-00972: identifier is too long
变量的长度是不能变短的。
这样还可以使用sqlplus吗?
有什么解决办法?

解决方案 »

  1.   

    rec_id是什么类型的,VARCHAR2支持很长的文本啊
      

  2.   

    SQL> select * from emp
      2  where ename='fdsfdsfadsfasgashklfhldfsdfkshkhfkdsyishfksdhkfhdkshfkdsh';EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO
    ----- ---------- --------- ----- ----------- --------- --------- ------
      

  3.   

     identifier is too long 
    是指(变量/常量等的)标志符名称过长,而不是你具体的值。
    如果你的标志符超过30字符,那没办法,必须缩短。ORACLE的限制,无法突破。
      

  4.   

        你建表时给rec_id设定的长度只有30吧!
        把它改大点就行了!