您的位置:首页 > 数据库

sqlplus中如果输入的sql语句前面有一行写错了,怎么返回修改?以及无法创建保存文件afiedt.buf ?

2013-08-08 03:51 886 查看
示例

SQL>;select * from myuser;

IDUSERNAME PASSWORD SJ

---------- ---------- ---------- -------------------

1John 1234 2003-05-0100:00:00

2Jack 12345 2003-05-0200:00:00

3Rose 2345 2003-04-2000:00:00

4Joe 384657 2003-05-0112:36:24

5Tom 384655 2003-05-0112:33:24

6Jordan 384455 2003-05-0112:33:36

已选择6行。

SQL>; select 8 from myuser where

2 to_char(sj,'yyyy-mm-dd')='2003-05-01';//其中8是输错的

8

----------

8

8

8

8

方法一:

SQL>;1

SQL>;c/8/*

就可以了,你可以看看oracle的sqlplus介绍

change的语法:

c /old statement/new statement

方法二:

不管三七二十一,先执行(这样就会写入缓存中),然后edit即可。

SQL>; edit//调出编辑器重新编辑

已写入文件 afiedt.buf



无法创建保存文件afiedt.buf???

在sqlplus下无法保存,要在dos下进入sqlplus才可以




1 select* from myuser where

2*to_char(sj,'yyyy-mm-dd')='2003-05-01'

SQL>; /   //用“/”执行写入缓存中的刚编辑好的命令

IDUSERNAME PASSWORD SJ

---------- ---------- ---------- -------------------

1John 1234 2003-05-0100:00:00

4Joe 384657 2003-05-0112:36:24

5Tom 384655 2003-05-0112:33:24

6Jordan 384455 2003-05-0112:33:36

如果出现以下这种情况:

SQL> select table_names from user_tables;

select table_names from user_tables

*

ERROR at line 1:

ORA-00904: "TABLE_NAMES": invalid identifier

SQL> edit

Wrote file afiedt.buf

38

则:

在UNIX下要设置编辑器

define _editor=vi

然后用命令edit就可以了,但是不能永久设置;

在 $ORACLE_HOME/sqlplus/admin/glogin.sql 设置即可永久设置

或者:

在sqlplus下执行

store set login.sql

存下当前的环境设置,

这样以后执行sqlplus时就会自动读取login.sql这个文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐