轉載:
示例:
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這個文件
