首页 > 开发 > 综合 > 正文

SQLPlus命令使用指南(一)

2024-07-21 02:09:42
字体:
来源:转载
供稿:网友
  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • 熟悉oracle的朋友都知道,sql plus是一个重要的和oracle打交道的工具。sql plus本身有很多命令,可以帮助我们做很多事情,包括产生一些规格化的报表、提供人机交互等等。下面,我就简单地说明一下,供大家参考:
    一 帮助命令
        help可以帮助我们,查找sql plus每个命令的用法
    举例:
    sql> help accept
       
      accept
      ------
       
      reads a line of input and stores it in a given user variable.
       
      acc[ept] variable [num[ber] | char | date] [for[mat] format]
        [def[ault] default] [prompt text | nopr[ompt]] [hide]
       
    二  sqlplus的人机交互命令
    在sqlplus里可以接受用户的输入,最常用的命令有:
    (1)   accept
    接受整行的数据。
    语法:acc[ept] variable [num[ber]|char|date] [for[mat] format]
       [def[ault] default] [prompt text|nopr[ompt]] [hide]
    举例说明:
    角本1.sql,查出工资大于输入金额的雇员。
    set feedback off
    set pause off
    accept sal number prompt 'please input salary(weekly): '
    select employee_id,last_name,first_name,salary from employee
    where salary>[$sal]
    在sqlplus 中运行
    sql> @c:/1.sql
    please input salary(weekly): 1000
    old   2: where salary>&sal
    new   2: where salary>      1000
       
    employee_id last_name    first_name          salary
    ----------------- ------------------- ----------------------------- ----------
            7499 allen           kevin                 1600
            7505 doyle           jean                  2850
            7506 dennis          lynn                  2750
            7507 baker           leslie                2200
            7521 ward            cynthia               1250
            7555 peters          daniel                1250
            7557 shaw            karen                 1250
            7560 duncan          sarah                 1250
            7564 lange           gregory               1250
            7566 jones           terry                 2975
    7569 alberts         chris                 3000
    注:
    ① accept接受一行的输入,并且把输入的数据根据指定按照指定的类型存放到变量(如不存在,自动创建一个)中。
    ② fomrat用于制定输入的数据格式,如数字可以指定’999.99’,字符可以指定长度’a10’
    ③ 如果类型是char,长度最大240。
       
    (2)   prompt
    输出提示信息。
    语法:pro[mpt] [text]
    举例:
    sql> prompt hello,world
    hello,world
    (3)   pause
    输出一行信息,并等待用户输入回车。
    语法:pau[se] [text]
    举例:
    sql> pause please press [return]
    please press [return]
       
    sql>
       
    三 编辑命令
    通过sql plus发送的最后一次sql语句都会保存在sql plus的一个数据缓冲区内,而sqlplus命令不包括在内可以通过编辑命令进行编辑。
    (1)   /
    重新执行一下sql 语句。
    (2)   append
    在命令缓冲区内,追加字符。
    举例:
    sql> select * from tab;
    ….
    sql> a  where tabtype='view'
       1* select * from tabwhere tabtype='view'
    sql> /
       
    tname                          tabtype  clusterid
    ------------------------------ ------- ----------
    plsql_profiler_grand_total     view
    plsql_profiler_lines_cross_run view
    plsql_profiler_notexec_lines   view
    plsql_profiler_units_cross_run view
    sales                          view
       
    (3)   list或;
    列出缓冲区内的内容,list可以列出某行的内容,而;则是所有的。
    举例:
    sql> ;
       1  select * from tab where tabtype='view'
       2* order by tname
    sql> l 2
       2* order by tname
    (4)   input
    增加一行内容
    举例:
    sql> i  order by tname
    sql> l
       1  select * from tab where tabtype='view'
       2* order by tname
    (5)   change
    把当前行的第一个艘索到的内容替换新的内容,
    语法:c[hange] sepchar old [sepchar [new[sepchar]]]
    举例:
    sql> l
       1* select * from employee where salary>1000 and salary<2000
    sql> c/salary/sal
       1* select * from employee where sal>1000 and salary<2000
    注意,当缓冲区有两行的时候,用c替换的是最后一行里的内容。
    (6)   edit
    在指定的文本编辑器里,编辑缓冲区的内容。windows上,缺省是notepad。
    (7)   spool
    把输出结果,指定到一个文件中,有点像dos命令下的>
    spo[ol] [file_name[.ext] | off | out]
    sql> spool c:/1.txt
    sql> select * from tab;
    sql> spool off
       
    四 执行命令
    (1)   @
    载入角本,运行。
    举例:
    sql>@c:/1.sql
    (2)   execute
    运行pl/sql过程和程序包。
    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表