--------------------------表--------------------------------
察看表的结构
sql>desc tablename;
创建两个相同内容表的语句
create table transporttool_bak
as
select * from transporttool where 1=2;
修改表列
alter table room_bak add (do_dt date,
idbak varchar2(6),
op_type varchar2(10));
------------------------序列----------------------------------
创建一个从1开始的序列
CREATE SEQUENCE SEQ_APPTYPE --创建SEQUENCE
INCREMENT BY 1 --递增值为1
START WITH 1 --开始计数的数值
NOMAXVALUE --没有最大值
NOMINVALUE --没有最小值
NOCYCLE --不循环
CACHE 20 --高速缓存值
/
select SEQ_APPTYPE.currval from dual; --取序列的当前值
select SEQ_APPTYPE.nextval from dual; --取序列的下一个值,序列自动增加或减少
删除序列
drop sequence test
----------------------------函数---------------------------------
函数与存储过程非常相似,也是存储在数据库中对象。但可以在sql语句中使用,可以用于select 、where 等大量其他语句中。
例如:统计行tag='1'的数量
CREATE OR REPLACE FUNCTION COUNT_SENDED_NUM
RETURN number
IS
BEGIN
declare
i number;
cursor get_sended_num is select count(*) --declare our select cursor
from tb where tag='1';
begin
open get_sended_num;
fetch get_sended_num into i;
return i;
end;
END;
运行:
select COUNT_SENDED_NUM() from dual;
或者:
sql>var x number;
sql>exec :x:=COUNT_SENDED_NUM();
sql>print x;
都可以得到运行结果
函数删除:drop function COUNT_SENDED_NUM