CREATE PROCEDURE fire_employee(emp_no NUMBER)AS
DECLARE
emp_no_char VARCHAR2 (200) := TO_CHAR(emp_no) ;
BEGIN
EXECUTE IMMEDIATE
'DELETE FROM emp WHERE empno='|| emp_no_char;
END;有没有语法问题?
DECLARE
emp_no_char VARCHAR2 (200) := TO_CHAR(emp_no) ;
BEGIN
EXECUTE IMMEDIATE
'DELETE FROM emp WHERE empno='|| emp_no_char;
END;有没有语法问题?
解决方案 »
- 存储过程里面问题
- Oracle 里而且没有SqlServer新建数据库的概念.
- 如何查看表空间所含的表
- ORA-01219:数据库未打开:仅允许在固定表/视图中查询
- OracleDBConsoleorcl服务启动不了!
- 我在RedHat7.2下安装oracle9i,为什么编译不通过??
- 误删数据,于是recover database until time '2003-07-28:13:00:00',出错!
- 请教,如何在威盛CPU的机器上安装Oracle9i
- 如何实现通过PIPE在两个SESSION间通信。如果解决问题,再给200分。
- dbms_job 问题!! 急!
- pl/sql中堆栈怎么用?
- 咨询一个索引的问题。
CREATE PROCEDURE fire_employee(emp_no NUMBER)AS
BEGIN
DELETE FROM emp WHERE empno=emp_no;
END;
要加引号
EXECUTE IMMEDIATE
'DELETE FROM emp WHERE empno='''|| emp_no_char||''''; 或者用绑定参数
EXECUTE IMMEDIATE
'DELETE FROM emp WHERE empno=:1' using emp_no_char;