另,是不是在sql * plus 里就不用使用动态sql,在存储过程里就必须使用

解决方案 »

  1.   

    ORA-06550 line num, column num: str Cause: A PL/SQL compilation error has occurred. The numbers given for line and column are the location in the PL/SQL block where the error occurred. 
    Action: Refer to the following PL/SQL messages for more information about the error. 
    ORA-00911 invalid character Cause: Special characters are valid only in certain places. If special characters other than $, _, and # are used in a name and the name is not enclosed in double quotation s ("), this message will be issued. One exception to this rule is for database names; in this case, double quotes are stripped out and ignored.
    Action: Remove the invalid character from the statement or enclose the object name in double quotation s. 
      

  2.   

    INSERT INTO t_KILL_SPID(spid)values(18);
    这句话也要用动态SQL执行,因为在编译存储过程时,表t_KILL_SPID还不存在,当然编译不过了。在SQL*PLUS中是不需使用动态SQL的,在存储过程中,必须使用!
      

  3.   

    可以呀,再SQLPLUS定义个无名过程,就可以用了,
    你上面的过程里的动态SQL语法部不够完整呀
      

  4.   

    LGQDUCKY(飘)  哪里不完整阿?
      

  5.   

    你把sql与pl/sql的定义都没有弄明白
      

  6.   

    我刚刚学oracle,还有很多不明白,还需要学很多,但是我现在急着用啊,
    拜托sql与pl/sql的定义是什么
      

  7.   

    俺就是想在存储过程中建立一个临时表,然后select一些进程id,insert到表里,然后一个一个
    取出kill,再把表删除,急阿