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这个文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值