SQL PLUS简单忘记之指令ITeye - 娱乐之横扫全球

SQL PLUS简单忘记之指令ITeye

2019年02月20日11时42分23秒 | 作者: 夜山 | 标签: 指令,文件,缓冲区 | 浏览: 2450

 n  text指令来修正犯错的部分,其间n为在SQL缓冲区中的SQL句子
的行号,text为代替犯错部分的SQL句子。
SQL l
  1  select *
  2* from emp
SQL 2 from dept
SQL l
  1  select *
  2* from dept
SQL

指令‘/’(RUN)来从头运转在SQL缓冲区中的SQL句子。
SQL /

    DEPTNO DNAME          LOC
-
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON

n指令设置当时行,a(append)指令在当时行添加内容。
SQL l
  1  select ename
  2  from emp
  3* order by sal desc
SQL 1
  1* select ename
SQL a ,deptno,sal
  1* select ename,deptno,sal
SQL l
  1  select ename,deptno,sal
  2  from emp
  3* order by sal desc
SQL /

ENAME          DEPTNO        SAL

KING               10       5000
SCOTT              20       3000
FORD               20       3000
JONES              20       2975
BLAKE              30       2850
CLARK              10       2450
ALLEN              30       1600
TURNER             30       1500
MILLER             10       1300
WARD               30       1250
MARTIN             30       1250
ADAMS              20       1100
JAMES              30        950
SMITH              20        800

已挑选14行。


运用0 text在榜首行之前刺进一行数据。也能够运用 当时最大的行数+1 text来添加一行。 SQL l
  1  select ename,deptno,sal
  2  from emp
  3* order by sal desc
SQL 0 create table emp_temp as
SQL l
  1  create table emp_temp as
  2  select ename,deptno,sal
  3  from emp
  4* order by sal desc
SQL /

表已创立。

SQL

运用del n删去第n行。假如没有指定n就是删去掉当时行。也能够运用del m n指令删去从m行到n行的全部内容。

SQL l
  1  create table emp_temp as
  2  select ename,deptno,sal
  3  from emp
  4* order by sal desc
SQL del 1
SQL l
  1  select ename,deptno,sal
  2  from emp
  3* order by sal desc
SQL del
SQL l
  1  select ename,deptno,sal
  2* from emp
SQL

SQL l
  1  create table emp_temp as
  2  select ename,deptno,sal
  3  from emp
  4* order by sal
SQL del 2 4
SQL l
  1* create table emp_temp as
SQL

运用C[HANGE]/原文/新的正文指令来修正SQL缓冲区中的句子。该指令是在当时行顶用“新的正文”代替“原文”。
留意是c /oldtext/newtext,/oldtext和/newtext中心没有空格。假如在下例中运用c /dept /emp,会呈现”SP2-0023: 未找到字符串“的过错。

SQL select ename, deptno, sal
  2  from dept
  3  where sal 1000
  4  order by sal desc;
where sal 1000
      *
第 3 行呈现过错:
ORA-00904: "SAL": 无效的标识符


SQL l
  1  select ename, deptno, sal
  2  from dept
  3  where sal 1000
  4* order by sal desc
SQL 2
  2* from dept
SQL c /dept/emp
  2* from emp
SQL l
  1  select ename, deptno, sal
  2  from emp
  3  where sal 1000
  4* order by sal desc
SQL /

ENAME          DEPTNO        SAL

KING               10       5000
SCOTT              20       3000
FORD               20       3000
JONES              20       2975
BLAKE              30       2850
CLARK              10       2450
ALLEN              30       1600
TURNER             30       1500
MILLER             10       1300
WARD               30       1250
MARTIN             30       1250
ADAMS              20       1100

已挑选12行。

SQL

SAVE指令把SQL缓冲区的内容存入指定的文件,这个文件叫脚本文件。save指令会创立指定的文件,可是要求途径现已存在,不然无法创立保存文件。
SQL*PLUS的指令不被存入SQL缓冲区,SQL缓冲区中只保存上一个sql。SQL缓冲区只能存储一个SQL句子。
生成了脚本文件之后,能够运用SQL*PLUS的GET指令将这个脚本文件装入SQL缓冲区。

SQL l
  1  select ename, deptno, sal
  2  from emp
  3  where sal 1000
  4* order by sal desc
SQL save d:\sql_test\sample
SP2-0110: 无法创立保存文件 "d:\sql_test\sample.sql"
SQL save d:\oracle_sql_study\sample
已创立 file d:\oracle_sql_study\sample.sql
SQL select distinct deptno from emp;

    DEPTNO

        10
        20
        30

SQL l
  1* select distinct deptno from emp
SQL get d:\oracle_sql_study\sample.sql
  1  select ename, deptno, sal
  2  from emp
  3  where sal 1000
  4* order by sal desc
SQL /

ENAME          DEPTNO        SAL

KING               10       5000
SCOTT              20       3000
FORD               20       3000
JONES              20       2975
BLAKE              30       2850
CLARK              10       2450
ALLEN              30       1600
TURNER             30       1500
MILLER             10       1300
WARD               30       1250
MARTIN             30       1250
ADAMS              20       1100

已挑选12行。

SQL

能够运用SQL*PLUS的ed[it]指令来直接修改d:\oracle_sql_study\sample.sql。

能够运用SQL*PLUS的@ 或START指令来直接运转脚本文件D:\SQL\SAMPLE.sql。
@ 或START指令是把指定脚本文件的内容装入SQL缓冲区中并运转。

SQL @d:\oracle_sql_study\sample.sql

ENAME          DEPTNO        SAL

ALLEN              30       1600
WARD               30       1250
JONES              20       2975
MARTIN             30       1250
BLAKE              30       2850
CLARK              10       2450
SCOTT              20       3000
KING               10       5000
TURNER             30       1500
ADAMS              20       1100
FORD               20       3000
MILLER             10       1300

已挑选12行。

SQL


SPOOL D:\SQL\OUTPUT中SPOOL之后为文件名,该指令的意思是在该指令之后屏
所显现的全部都要存到D:\SQL目录下的OUTPUT文件中。只有当输入SPOOL OFF之
才干看到OUTPUT文件中的内容。假如您输入SPOOL OUT表明其内容将送到打印机。

spool指令会创立指定的文件,可是要求途径现已存在,不然无法创立spool文件。

SQL spool d:\sql_test\output
SP2-0606: 无法创立 SPOOL 文件 "d:\sql_test\output.LST"
SQL spool d:\oracle_sql_study\output
SQL l
  1  select ename, deptno, sal
  2  from emp
  3* where sal 1000
SQL /

ENAME          DEPTNO        SAL

ALLEN              30       1600
WARD               30       1250
JONES              20       2975
MARTIN             30       1250
BLAKE              30       2850
CLARK              10       2450
SCOTT              20       3000
KING               10       5000
TURNER             30       1500
ADAMS              20       1100
FORD               20       3000
MILLER             10       1300

已挑选12行。

SQL spool off
SQL

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表娱乐之横扫全球立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章