解决方案 »
- 以sysdba方式登陆,提示TNS错误,及Oracle_home问题。在线等
- ORACLE建立触发器时出现WARNING:TRIGGER CREATED WITH COMPILATION ERRORS
- 刚过完生日,放分
- 初学者,请教一个简单问题!
- 提问:关于select语句嵌套的问题
- 怎样写每天晚上2点执行的作业?
- 怎么使system获得sysdba权限?
- 请问有显示表空间(tablespace)的命令吗?怎样创建表空间?
- 为什么我用oci调用存储过程总是提示character string buffer too small
- 静默安装oracle11.2.0 sqlplus 报错
- COL 命令格式化问题
- 求大神,dblink问题
SQL窗口识别不了第一个关键字,这个是工具决定的。最好是在调试窗口去执行。
DECLARE
v_deptno NUMBER(2);
v_dname VARCHAR2(10);
BEGIN
<<inner>>
BEGIN
SELECT deptno INTO v_deptno FROM scott.emp
WHERE lower(ename)=lower('scott');
END;--<<inner>>
SELECT dname INTO v_dname FROM scott.dept
WHERE deptno= v_deptno;
dbms_output.put_line('部门名:'||v_dname);
END;--<<outer>>
SQL窗口识别不了第一个关键字,这个是工具决定的。最好是在调试窗口去执行。按照版主的解释,我是不可以理解为这个是SQL窗口模式的特殊BUG。
最外层再加一层begin end;就好了并不是Bug。pl/sql dev将你这段代码解析成3段来单独运行,因此每段都不对了
就像书签就是用来翻页的例如begin
<<outer>>
DECLARE
v_deptno NUMBER(2);
v_dname VARCHAR2(10);
BEGIN
<<inner>>
BEGIN
SELECT deptno INTO v_deptno FROM scott.emp
WHERE lower(ename)=lower('SMITH');
END;--<<inner>>
goto lab; --跳到label <<lab>>处
SELECT dname INTO v_dname FROM scott.dept
WHERE deptno= v_deptno;
dbms_output.put_line('部门名:'||v_dname);
END;
<<lab>>
null;
end;