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;

oracle plsql基本语法的更多相关文章

  1. Oracle的基本语法,存储函数及触发器

    1.PL/SQL    PL/SQL是Oracle对 ql语言的过程化扩展,指在 SQL 命令语言中增加了过程处理语句,使SQL语言具有过程处理能力.把 SQL 语言的数据操纵能  力与过程语言的数据 ...

  2. Oracle常用基础语法(未完待补和操作)

    这篇博客主要是Oracle常用基础语法, 另外,存储过程和存储函数很重要,这个后期看视频学习,还有DB优化,另外,还有plsql develop和navicat的使用,重点是数据的导入导出: ---- ...

  3. Oracle/PLSQL存储过程详解

    原文链接:https://blog.csdn.net/zezezuiaiya/article/details/79557621 Oracle/PLSQL存储过程详解 2018-03-14 17:31: ...

  4. Oracle/PLSQL: ORA-06550

    参考: http://blog.csdn.net/haiross/article/details/20612135 Oracle/PLSQL: ORA-06550 Learn the cause an ...

  5. Oracle存储过程基本语法介绍

    Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...

  6. Oracle Update 语句语法与性能分析 - 多表关联

    Oracle Update 语句语法与性能分析 - 多表关联   为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在某个业务受理子系统BSS中, SQL 代码 --客户资料表 create ...

  7. Oracle存储过程基本语法 存储过程

    Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...

  8. Oracle PLSQL读取(解析)Excel文档

    http://www.itpub.net/thread-1921612-1-1.html !!!https://code.google.com/p/plsql-utils/ Introduction介 ...

  9. MyEclipse+Weblogic+Oracle+PLSQL配置注意事项

    Weblogic配置详情:<Weblogic安装与配置图文详解>Oracle+PLSQL配置详情:<PL/SQL访问远程Oracle服务器(多种方式)>MyEclipse配置: ...

随机推荐

  1. 【Gamma】Scrum Meeting 1

    目录 写在前面 gamma阶段角色更换 进度情况 任务进度表 Gamma阶段燃尽图 遇到的困难 照片 代码Commit记录 后端 前端 写在前面 例会时间:5.25 22:30-23:00 例会地点: ...

  2. HTML5中使用EventSource实现服务器发送事件

    在HTML5的服务器发送事件中,使用EventSource对象可以接收服务器发送事件的通知. 示例: es.html <!DOCTYPE html> <html> <he ...

  3. 【Linux】Linux环境变量的设置和查看

    Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1 永久的:需要修改配置文件,变量永久生效. 2 临时的:使用export命令声明即可,变量在关闭shell时失效. 设置变量 ...

  4. .netcore linq更改list实体对象中的字段 批量条件

    List<cs_orders> orderlist = _ordersRepository.WhereLoadEntityEnumerable(p => p.order_status ...

  5. 014-交互式Shell和shell脚本获取进程 pid

    Linux 的交互式 Shell 与 Shell 脚本存在一定的差异,主要是由于后者存在一个独立的运行进程 1.交互式 Bash Shell 获取进程 pid 在已知进程名(name)的前提下,交互式 ...

  6. wms证书异常问题

    目前我司已定位到两个原因,详细如下, 1.  快速生成的证书存在问题,导致APACHE和NGINX显示的时间都是4号凌晨 2.  贵司在配置完成162和163两台应用的APACHE证书,以及其中10. ...

  7. jQuery 标单验证

    jQuery Validate jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方 ...

  8. 使用Win10自带的截图工具

    Win10自带的截图工具还是可以的,快捷键win+shift+s 截完图之后会有一个通知,你可以对截图进行二次编辑,编辑之后默认是立即保存的 再搭配着Fu图床工具使用,简直太爽了 讲一下怎么打开通知

  9. Java中常量以及常量池

    1.举例说明 变量 常量 字面量 int a=10; float b=1.234f; String c="abc"; final long d=10L; a,b,c为变量,d为常量 ...

  10. distinct 数组去重,对象去重

    distinct 操作符可以用来去重,将上游重复的数据过滤掉. import { of } from 'rxjs'; import { distinct} from 'rxjs/operators'; ...