大家说说这语句的优化,写出完整语句,谢谢!(注意,where后面加函数会影响索引)CREATE PROCEDURE fire_employee(emp_no NUMBER)AS
BEGIN
EXECUTE IMMEDIATE
'DELETE FROM emp WHERE empno='||TO_CHAR(emp_no);
END;

解决方案 »

  1.   

    CREATE PROCEDURE fire_employee(emp_no NUMBER)AS 
    BEGIN 
    EXECUTE IMMEDIATE 'DELETE FROM emp WHERE empno = :a' USING emp_no;
    END;
    /
      

  2.   

    empno也是数值型的吧
    那样就行了,和楼上其实是一样的
    不需要优化
      

  3.   

    赞成使用动态sql提高性能。
     EXECUTE IMMEDIATE 'DELETE FROM emp WHERE empno = :1' USING emp_no;