Oracle and SQL*Plus

在sqlplus中使用emacs编辑sql

$ORACLE_HOME/sqlplus/admin:

login.sql

define _editor='emacs -nw' //在terminal中edit
// define _editor=vim
set serveroutput on size 1000000
set trimspool on
set long 5000
set linesize 100
set pagesize 9999
column plan_plus_exp format a80

column global_name new_value gname
set termout off
select lower(user) || '@' ||
decode(global_name, 'ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM', 'ORCL.10G',
global_name) global_name
from global_name;
set sqlprompt '&gname>'
set termout on


In Oracle/PLSQL, the decode function has the functionality of an IF-THEN-ELSE statement.
The syntax for the decode function is:
decode( expression , search , result [, search , result]... [, default] )

For example:
You could use the decode function in an SQL statement as follows:
 SELECT supplier_name,
decode(supplier_id,
10000, 'IBM',
10001, 'Microsoft',
10002, 'Hewlett Packard',
'Gateway') result
FROM suppliers;

The above decode statement is equivalent to the following IF-THEN-ELSE statement:

IF supplier_id = 10000
THEN
result := 'IBM';
ELSIF supplier_id = 10001
THEN
result := 'Microsoft';
ELSIF supplier_id = 10002
THEN
result := 'Hewlett Packard';
ELSE
result := 'Gateway';
END IF;

The decode function will compare each supplier_id value, one by one.


select * from
(select a.*, rownum rn
from (select * from all_users) a
)
where rn between 25 and 27


select * from
(select a.*, rownum rn from all_users a where rownum <=27)
where rn >=25;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值