文档章节

oracle plsql基本语法

o
 osc_wws45aot
发布于 2019/08/20 11:18
字数 512
阅读 12
收藏 0

oracle plsql 基本语法

--plsql默认规则:plsql赋值用":=" plsql判断用"=" plsql输入用"&"

--输入输出
declare
  v_str varchar2(20);
begin
 -- Dbms_Output.put('hello');
 -- Dbms_Output.put('xxxxxxxxxxxxxxxxxx');
 -- Dbms_Output.put_line('');  put_line('')才会最终输出,put只会在缓存中    
 v_str:='&str';
 Dbms_Output.put_line(v_str); 
  
end;

--plsql的判断if句式
declare
 v_age number:=0;
 begin
  v_age:='&age';
  if(v_age<18) then
   Dbms_Output.put_line('未成年');
  elsif(v_age>18 and v_age<28) then
   Dbms_Output.put_line('青年');
  else
   Dbms_Output.put_line('其他年龄');
  end if;
 end;
 
 --plsql的判断case句式
 declare
  v_empno scott.emp.empno%type;
  v_sal scott.emp.sal%type;
begin
  v_empno:='&empno';
  select sal into v_sal from scott.emp where empno=v_empno;
  case--case开始
      when v_sal<1000 then 
       Dbms_Output.put_line('底层员工');
      when v_sal>=1000 and v_sal <=2000 then
       Dbms_Output.put_line('普通员工');
      when v_sal>2000 and v_sal <=3000 then
       Dbms_Output.put_line('中级骨干');
      when v_sal>3000 then
       Dbms_Output.put_line('管理层');
      else --默认
       Dbms_Output.put_line('未知级别');
  end case;--case结束
end;


--练习 输入职员编号 判断该职业叫做king则输出老板,叫做scott输出作者,其他输出普通员工
declare
 v_empno scott.emp.empno%type;
 v_ename scott.emp.ename%type;
begin
 v_empno:='&empno';
 select ename into v_ename from scott.emp where empno=v_empno;
 case
        when v_ename='KING' then
         Dbms_Output.put_line('老板');
        when v_ename='SCOTT' then
         Dbms_Output.put_line('作者');
        else
         Dbms_Output.put_line('其他员工');
 end case;
end;

select * from emp;

 --简化case句式 直接是一条sql查询语句
select empno,
case ename
when 'KING' then '老板'
when 'SCOTT' then '作者'
else '普通职员'
end 身份
 from emp;
 
--plsql 循环while句式:从1累加到100
declare
 v_i number:=1;
 v_sum number:=0;
begin
 while(v_i<=100) loop
   v_sum:=v_sum+v_i;
   v_i:=v_i+1;
 end loop;
 Dbms_Output.put_line('累加结果为:'||v_sum);
end;
 
 
--plsql 循环do ... while句式:从1累加到100
declare
 v_i number:=1;
 v_sum number:=0;
begin
 while(1=1) loop
   v_sum:=v_sum+v_i;
   v_i:=v_i+1;
   exit when(v_i>100);      --像java中的break
 end loop;
 Dbms_Output.put_line('累加结果为:'||v_sum);
end;

--plsql 循环for句式:从1累加到100
declare
 v_i number:=1;
 v_sum number:=0;
begin
 for v_i in /*reverse*/ 1..100 loop
  Dbms_Output.put_line('v_i:'||v_i);
  v_sum:=v_sum+v_i;
 end loop;
 Dbms_Output.put_line('累加结果为:'||v_sum);
end;
 

--练习 使用while循环输出* ,打印出如下图形
declare
  v_triLength number;
  v_i number:=1;
  v_j number:=1;
begin
  v_triLength:='&边长';
  while( v_i<=v_triLength) loop
   v_j:=1;
   --打空格
   while(v_j<=v_triLength-v_i) loop
     Dbms_Output.put(' '); 
        v_j:=v_j+1;
   end loop;
   --打星星
      v_j:=1;
   while(v_j<=v_i) loop
     Dbms_Output.put('*'||' ');
        v_j:=v_j+1;
   end loop;
     Dbms_Output.put_line('');
   v_i:=v_i+1;
  end loop;
end;

上一篇: jQuery创建json对象
下一篇: CTF写脚本
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

ftp-ftps-sftp的关系

Ftp FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作...

独钓渔
41分钟前
12
0
使Vim将所有空格显示为字符 - Make Vim show ALL white spaces as a character

问题: I can't find a way to make Vim show all white spaces as a character. 我找不到让Vim将所有空白显示为字符的方法。 All I found was about tabs, trailing spaces etc. 我发现的只......

富含淀粉
52分钟前
23
0
RN 接入高德地图遇到的一些问题

react-native-amap-geolocation、react-native-amap3d 1、iOS Geolocation.getCurrentPosition 获取坐标后,没有返回 address 信息? 逆地理编码 Android 默认返回逆地理编码,而 iOS 需要手...

Jack088
54分钟前
14
0
如何正确清理Excel互操作对象? - How do I properly clean up Excel interop objects?

问题: I'm using the Excel interop in C# ( ApplicationClass ) and have placed the following code in my finally clause: 我在C#( ApplicationClass )中使用Excel互操作,并将以下代......

javail
今天
10
0
java版Spring Cloud Spring Boot b2b2c 直播带货 短视频带货 分销 小程序 电子商务 分布式 微服务

海哇 B2B2C多租户电子商务平台(自营+多商家入驻+分销分佣+直播带货+短视频带货) 管理平台+商家平台+消费端微服务+消费端小程序 使用技术 Spring Cloud、Spring Boot、Mybatis、小程序、Vue...

SpringCloud关注者
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部