SQL> set serverout on
SQL> dbms_output.put_line('1234')
SP2-0734: 未知的命令开头 "dbms_outpu..." - 忽略了剩余的行。
SQL> dbms_output.put_line('1234');
SP2-0734: 未知的命令开头 "dbms_outpu..." - 忽略了剩余的行。
/??为什么我的这个命令就过不了,看教程上都是这么写的,
环境:
oracle 10g
winxp
SQL> dbms_output.put_line('1234')
SP2-0734: 未知的命令开头 "dbms_outpu..." - 忽略了剩余的行。
SQL> dbms_output.put_line('1234');
SP2-0734: 未知的命令开头 "dbms_outpu..." - 忽略了剩余的行。
/??为什么我的这个命令就过不了,看教程上都是这么写的,
环境:
oracle 10g
winxp
SQL> begin
2 exec dbms_output.put_line('ass');
3 end;
4 /
exec dbms_output.put_line('ass');
*
第 2 行出现错误:
ORA-06550: 第 2 行, 第 6 列:
PLS-00103: 出现符号 "DBMS_OUTPUT"在需要下列之一时:
:= . ( @ % ;
符号 ":=" 被替换为 "DBMS_OUTPUT" 后继续。
SQL> exec dbms_output.put_line('as');
asPL/SQL 过程已成功完成。SQL>
[code=SQL]
SQL> set serverout on
SQL> begin
2 dbms_output.put_line('1234') ;
3 end;
4 /
1234PL/SQL 过程已成功完成。[code]
SQL> declare
2 v_ename varchar2(20);
3 begin
4 select ename into v_ename from emp where empno = '&no';
5 begin
6 dbms_output.put_line('员工:'||v_ename);
7 end;
8 exception
9 when no_data_found then
10 begin
11 dbms_output.put_line('请输入正确的员工号');
12 end;
13 end;
14 /
输入 no 的值: 212
原值 4: select ename into v_ename from emp where empno = '&no';
新值 4: select ename into v_ename from emp where empno = '212';
员工:121PL/SQL 过程已成功完成。
可以了,谢谢,结帖去。
PL/SQL里面的东西和SQL*PLUS的客户端指令是两码事
exec procedure 是SQL*PLUS的,你竟然放到begin .... end...中??
任何PL/SQL必须有块的,你却直接写了dbms_output.put_line.DINGJUN123>set serveroutput on
DINGJUN123>exec dbms_output.put_line('hello');
helloPL/SQL 过程已成功完成。上面的不需要块,因为它是SQL*PLUS指令,其实内部还是begin ... end的,然后把结果信息返回到屏幕上