Oracle笔记 八、PL/SQL跳转/判断/循环语句块

简介:
--goto跳转语句
--在goto 后,跳转到相应的语句,然后执行该语句和后面所有语句
begin
     dbms_output.put_line('goto开始了');
     goto c;
          --不被执行
          dbms_output.put_line('goto');
          dbms_output.put_line('goto');
          dbms_output.put_line('goto');
          dbms_output.put_line('goto');
    <<a>>
           dbms_output.put_line('goto aaa');           
    <<b>>
           dbms_output.put_line('goto bbb');
    <<c>>
           dbms_output.put_line('goto ccc');
end;   
 
--PL/SQL中的sql和rowcount属性:sql代表最近执行的sql语句,rowcount代表最近执行的sql语句影响的行数
declare
  vCount number;
  vDeptno dept2.deptno%type := 10;
begin
  --select count(*) into vCount from dept2;
  --update dept2 set dname = dname || '~.~' where deptno = vDeptno;
  --delete from dept2 where deptno = 40;
  insert into dept2 select * from dept;
  dbms_output.put_line('count:' || vCount);
  dbms_output.put_line(sql%rowcount || '行受影响');
end;
 
--PL/SQL执行sql语句
begin
  execute immediate 'create table temp as select * from dept';
end;
 
--动态sql,把sql语句放到变量中并传递参数
declare
     sqlstr varchar2(100);
begin
     sqlstr := 'insert into scott.dept values(12, :1, :abc)';
     --变量是按照占位符顺序插入的
     execute immediate sqlstr using '教务部', '武汉';
end;
 
select * from scott.dept;
 
--动态sql,把查询结果赋值给变量
declare
       dept_row_data scott.dept%rowtype;
       sqlstr varchar2(100);
begin
     sqlstr := 'select * from scott.dept where deptno = 11';
     execute immediate sqlstr into dept_row_data;
     dbms_output.put_line(dept_row_data.deptno);
end;
 
--if 语句
--select * from emp;
declare
     vSal emp.sal%type;
begin
  select sal into vSal from emp where empno = 7566;
  if (vSal < 1200) then
    dbms_output.put_line('小于1200');
  elsif (vSal < 2000) then
    dbms_output.put_line('小于2000');
  else
    dbms_output.put_line('大于2000');
  end if;
end;  
 
--loop循环
declare
  i binary_integer := 10;
begin
  loop
    dbms_output.put_line(i);
    i := i - 1;
    exit when(i < 1);
  end loop;
end;
 
--while循环
declare
  i binary_integer := 1;
begin
  while i < 11 loop
     dbms_output.put_line(i);
     i := i + 1;
  end loop;
end;
 
--for 循环
begin
  for i in 1..10 loop
    dbms_output.put_line(i);
  end loop;
  for i in reverse 1..10 loop
    dbms_output.put_line(i);
  end loop;
end;






本文转自hoojo博客园博客,原文链接:http://www.cnblogs.com/hoojo/archive/2011/05/03/2035357.html,如需转载请自行联系原作者
目录
相关文章
|
22天前
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
16 2
|
1月前
|
SQL 监控 Oracle
Oracle SQL性能优化全面指南
在数据库管理领域,Oracle SQL性能优化是确保数据库高效运行和数据查询速度的关键
|
1月前
|
SQL 存储 Oracle
Oracle数据库SQL语句详解与应用指南
在数字化时代,数据库已成为各类企业和组织不可或缺的核心组件。Oracle数据库作为业界领先的数据库管理系统之一,广泛应用于各种业务场景。掌握Oracle数据库的SQL语句是数据库管理员、开发人员及运维人员的基本技能。本文将详细介绍Oracle数据库SQL语句的基本概念、语法、应用及最佳实践。一、Or
56 3
|
1月前
|
SQL Oracle 关系型数据库
Oracle SQL:了解执行计划和性能调优
Oracle SQL:了解执行计划和性能调优
53 1
|
3月前
|
SQL Oracle 关系型数据库
SQL与PL/SQL:数据库编程语言的比较
【8月更文挑战第31天】
69 0
|
4月前
|
SQL Oracle 关系型数据库
|
4月前
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
309 3
|
4月前
|
SQL 存储 Oracle
TDengine 3.3.2.0 发布:新增 UDT 及 Oracle、SQL Server 数据接入
**TDengine 3.3.2.0 发布摘要** - 开源与企业版均强化性能,提升WebSocket、stmt模式写入与查询效率,解决死锁,增强列显示。 - taos-explorer支持geometry和varbinary类型。 - 企业版引入UDT,允许自定义数据转换。 - 新增Oracle和SQL Server数据接入。 - 数据同步优化,支持压缩,提升元数据同步速度,错误信息细化,支持表名修改。 - 扩展跨平台支持,包括麒麟、Euler、Anolis OS等。
126 0
|
5月前
|
SQL Oracle 关系型数据库
一些非常有用的Oracle SQL
一些非常有用的Oracle SQL
43 4
|
5月前
|
SQL 存储 关系型数据库
技术笔记:MYSQL常用基本SQL语句总结
技术笔记:MYSQL常用基本SQL语句总结
37 0
下一篇
无影云桌面