如果我没有记错,4后面的星号表示“当前行”,也就是你正在编辑的行,应该不是星号的问题。
站在用户的角度思考问题,与客户深入沟通,找到隆尧网站设计与隆尧网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、网站设计、企业官网、英文网站、手机端网站、网站推广、域名注册、网络空间、企业邮箱。业务覆盖隆尧地区。
这样,你在你的文件的最后(分号后面)打一个回车,现在sqlplus 应该是认为你的/在第4行,所以导致无法执行。试一下。
--先执行这一句:
define _editor=vi
就把编辑器设置成了vi,也可以设置成你熟悉的,如emacs;
之后,如果你想编辑执行过的语句,只要ed一下,
就会用vi打开一个带有该sql的缓存文件,打开,编辑,退出操作方法和vi
一样,最后生成afiedt.buf文件。
; 显示上一条。
/ 执行上一条。
pzw define _editor=vi
pzw select 1 from dual;
1
1 row selected.
select 1 from dual
/
"afiedt.buf" 2L, 21C
pzw ed
Wrote file afiedt.buf
1* select 1 from dual
pzw
就是编辑命令edit的缩写,在sqlplus命令下help ed可以查看它的介绍和用法,
其实没必要用这个命令去编辑sql,oracle一般用pl/sql developer, toad这样的工具
C:\Documents and Settings\Administratorsqlplus scott/tiger
SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 12月 20 19:08:11 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL help ed
EDIT
----
Invokes an operating system text editor on the contents of the
specified file or on the contents of the SQL buffer. The buffer
has no command history list and does not record SQL*Plus commands.
ED[IT] [file_name[.ext]]
Not available in iSQL*Plus
SQL
退出循环:EXIT/RETURN
RETURN表示退出整个过程,也就是过程执行到此处结束执行,程序退出;
EXIT表示退出当前循环,继续向下执行,如果是有两层循环的话,EXIT则是退出内层循环,外层循环继续执行。
GOTO用法:
1,先设置标签 《wait_goto》
2,goto wait_goto;程序返回至wait_goto处继续执行。
create
profile
my_profile
limit
idle_time
30;
创建一个profile
名字为my_profile(自己随便取),规则为超时时间30分钟。
alter
user
PDM
profile
my_profile;将此profile赋予用户PDM
输入 ed,编辑完文本之后,退出!然后在SQL命令行输入“/”就可以了,例如:
SQL/