Oracle 数据库的基本功能

Oracle 数据库的基本功能

变量声明与使用

v_a为变量,c_a为常量,需要用constant修饰

declare
  v_a number(9);
  c_a constant number(5):=200;    --作用域:下面begin与end之间
begin
  select class into v_a from student where sname='匡明';
  DBMS_OUTPUT.PUT_LINE(v_a);         --控制台输出
end;

另外一种方式:

declare
  V_ROW STUDENT%ROWTYPE; --直接锚定表中的列指定变量类型
begin
  SELECT * INTO V_ROW FROM STUDENT WHERE SNO=105;
  DBMS_OUTPUT.put_line(V_ROW.SNAME||'~~'||V_ROW.SNO); --对象属性调用及拼接
end;

序列

创建序列

--序列 用来解决Oracle中没有自增列的问题
create sequence seq_first   --创建序列
start with 7                --起始值  
increment by 1              --增长值
maxvalue 2000               --最大值
cycle;                      --是否循环

使用序列

--序列的使用
insert into STUDENT VALUES(seq_first.nextval,'丁真','男',to_date('1999/01/01','yyyy/MM/dd'),95003);

select seq_first.currval from dual; --查询序列当前值

drop sequence seq_first; --删除序列

索引

创建索引

--创建索引
--unique index 唯一索引
--bitmap 位图索引
--反向键索引 create index index_first on student(sno) reverse;
create index index_first on student(sno);
-删除索引
drop index_first;

游标

--游标
--查询游标,逐行定位输出每行内容
declare
  v_row STUDENT%ROWTYPE;   --准备逐行接受student对象
  --定义游标 
  cursor cursor_STUDENT is
  select * from STUDENT;
begin
  --1.打开游标
  open cursor_STUDENT;
  
  loop
    fetch cursor_STUDENT into v_row;
    
    exit when cursor_STUDENT%NOTFOUND;  --判断游标是否为空,为空退出loop
    
    DBMS_OUTPUT.put_line(v_row.sname);
   
  end loop;
  close cursor_STUDENT;  --关闭游标
end;

存储过程

创建存储过程

--创建存储过程
create procedure add_STUDENT(
       SNO NUMBER,
       SNAME NVARCHAR2,
       SSEX NVARCHAR2,
       SBIRTHDAY DATE,
       CLASS NUMBER
)
is
begin
  insert into student values(SNO,SNAME,SSEX,SBIRTHDAY,CLASS);
end;

调用存储过程

--调用存储过程
CALL add_STUDENT(113,'蔡徐坤','男',date'1999-04-01',95003);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值