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;

最新文章

  1. Tiddlywiki 维基程序使用手册
  2. html5的新标签
  3. 高校手机签到系统——第一部分Authority权限系统(下)
  4. c/c++ 常用的几个安全函数
  5. 546A. Soldier and Bananas
  6. 更改VS的运行主窗体
  7. Java中Map遍历的四种方案
  8. 从源代码上分析ListView的addHeaderView和setAdapter的调用顺序
  9. Levenshtein distance 编辑距离
  10. js高程(二)-----继承
  11. 如何在工程中使用axis2部署webservice
  12. CentOS 6.4 配置 Hadoop 2.6.5
  13. Redis学习——详解Redis配置文件(三)
  14. Android人脸检测1(静态图片)
  15. Django 的路由层 视图层 模板层
  16. pip 指定版本
  17. LOJ-10100(割点个数)
  18. Python基础【day03】:字符转编码操作(五)
  19. Anaconda canda 安装 Python3 配置
  20. 【树莓派】在树莓派的Android系统中安装APK应用

热门文章

  1. uniapp - emmet
  2. LZW
  3. Python + Selenium 自动发布文章(一):开源中国
  4. cmd find命令用法
  5. nodejs命令行执行时带参数
  6. oracle 统计成绩
  7. 大数据 -- Hadoop集群环境搭建
  8. setup_function和teardown_function
  9. Tplink路由器怎么设置无线桥接(转载)
  10. 调试node接口