您的位置:首页 > 数据库

修改sql 语句 前面 写错的部分 - 在unix 环境下

2012-11-16 16:29 288 查看
示例:

SQL>; select * from myuser;

ID USERNAME PASSWORD SJ

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

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

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

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

4 Joe 384657 2003-05-01 12:36:24

5 Tom 384655 2003-05-01 12:33:24

6 Jordan 384455 2003-05-01 12: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

1 select * from myuser where

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

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

ID USERNAME PASSWORD SJ

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

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

4 Joe 384657 2003-05-01 12:36:24

5 Tom 384655 2003-05-01 12:33:24

6 Jordan 384455 2003-05-01 12: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这个文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: