Orcal基础

先用是system登录plsql

然后可以在左下角找到user选项右键新建

给予权限

-- plsql编程 --
declare
  v_acgy number(4);
  v_acgs number(4);
  v_acge number(4);
  v_b varchar2(10);
  v_a number(4);
  v_c number(4);
  
  -- 与student表中的列sage类型相同 --
  v_e student.sage%type;
  
  -- 常量 --
  c_d constant number(5):=100;
begin
  -- 直接赋值 --
  v_acgy:=11;
  v_acgs:=12;
  v_acge:=11;
  -- sql语句赋值 into chr(10)换行 --
  select sname into v_b from student where s#=4;
  select s#,sage into v_a,v_c from student where s#=4;
  dbms_output.put_line('张朝淦平均成绩:'||chr(10)||(v_acgy+v_acgs+v_acge)/3);
  dbms_output.put_line('姓名'||v_b||'学号'||v_a||'年龄'||v_c);
end;

 

declare
  --v_a student.sage%type;
  --v_b number(4):=1000;
  --v_c number(4):=4;
  --v_d number(4):=21;
  v_s# student.s#%type;
  v_sname student.sname%type;
  v_sage student.sage%type;
  v_ssex student.ssex%type;
  -- 定义游标 --
  cursor cursor_a is
  select * from student;
begin
  -- if 语句 --
   -- select sage into v_a from student
   -- where s#=3;
    
   -- if v_a<18 then
   --  dbms_output.put_line('未成年');
      -- elsif不是elseif --
   -- elsif v_a<21 then
   --   dbms_output.put_line('青年');
   -- else 
   --   dbms_output.put_line('老年人');
   -- end if;
      
    -- 循环语句  可循环新增表内容--
   -- loop 
   --   v_b:=v_b+1;
   --   insert into student values(v_b,'黑子',30,'男');
   --   dbms_output.put_line('今天天气有点可惜');
   --   exit when v_b=1010;
   -- end loop; 
   
   -- mod(除数,被除数)取余 --
   -- loop 
   --   v_c:=v_c+1;
   --   if mod(v_c,2)=1 then
   --   insert into teacher values(v_c,'黑子');
   --   end if;
   --   exit when v_c=10;
   -- end loop;
   
   -- switch语句 --
   --case
   --  when v_d<10 then dbms_output.put_line('小于10');
   --  when v_d<20 then dbms_output.put_line('小于20');
   --  when v_d<30 then dbms_output.put_line('小于30');
   --  when v_d<40 then dbms_output.put_line('小于40');
   --end case;
   
   -- 打开游标 --
   open cursor_a;
   
   loop
     -- 提取游标 --
     -- 使用游标 --
      fetch cursor_a into v_s#,v_sname,v_sage,v_ssex;
      dbms_output.put_line(v_s#||v_sname||v_sage||v_ssex);
      exit when cursor_a%notfound;
   end loop;
   
   -- 关闭游标 --
   close cursor_a;
   
end;
 

-- 存储过程
-- 存储过程相当于封装了一个方法
-- 声明
-- 在左边看procedures是否正确
create procedure add_student(
       s# student.s#%type,
       sname student.sname%type,
       sage student.sage%type,
       ssex student.ssex%type,
       out_flag out number
)
is 
begin
      insert into student values(s#,sname,sage,ssex);
      commit;
      out_flag:=1;
end;


-- 调用存储过程 --
declare
   flag number(2);
begin
  add_student(6,'黑子',30,'男',flag);
  dbms_output.put_line(flag);
end;
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值