sqlplus中如果輸入的sql語句前面有一行寫錯了,怎麼返回修改?
方法一:
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這個檔案