sqlplus 语法简介_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1860 | 回复: 0   主题: sqlplus 语法简介        下一篇 
lichuan128
注册用户
等级:新兵
经验:71
发帖:58
精华:1
注册:2011-8-31
状态:离线
发送短消息息给lichuan128 加好友    发送短消息息给lichuan128 发消息
发表于: IP:您无权察看 2015-4-30 11:45:10 | [全部帖] [楼主帖] 楼主

sqlplus命令使用指南(一)
熟悉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过程和程序包

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论