PL/SQL编程—控制语句

简介: PL/SQL编程—控制语句

fcb4fa788993d5c7b2a94063b0ea70e6.png

cd507f00af0b0a37d6b3b82e6cc5a2ac.png

SQL> create or replace procedure sp_pro5(id_in varchar2) is
  2  v_sal mytest.salary%type;
  3  begin
  4  select salary into v_sal from mytest where id=id_in;
  5  if v_sal<130 then
  6  update mytest set salary=1.1*v_sal where id=id_in;
  7  end if;
  8  end;
  9  /
Procedure created
SQL> exec sp_pro5(4);
PL/SQL procedure successfully completed
SQL> select * from mytest;
ID    NAME                 PASSWD                                                                                         SALARY
----- -------------------- -------------------- --------------------------------------------------------------------------------
1     123                  123                                                                                               150
2     gaodingle!!!!        123                                                                                               150
3     gagaga               123                                                                                               150
4     125555               passwd                                                                                             55

5a69abb02b878aa414862a9bedebfdef.png

SQL> create or replace procedure sp_pro6(id_in varchar2) is
  2  v_bonus number(6,2);
  3  begin
  4  select bonus into v_bonus from mytest where id=id_in;
  5  if v_bonus=0 then
  6  update mytest set bonus=100 where id=id_in;
  7  else
  8  update mytest set bonus=v_bonus+300 where id=id_in;
  9  end if;
 10  end;
 11  /
Procedure created
SQL> select * from mytest;
ID    NAME                 PASSWD                 SALARY    BONUS
----- -------------------- -------------------- -------- --------
1     123                  123                    120.00     0.00
2     gaodingle!!!!        123                    120.00     0.00
3     gagaga               123                    120.00   100.00
4     125555               passwd                 120.00   100.00
SQL> exec sp_pro6(1);
PL/SQL procedure successfully completed
SQL> select * from mytest;
ID    NAME                 PASSWD                 SALARY    BONUS
----- -------------------- -------------------- -------- --------
1     123                  123                    120.00   100.00
2     gaodingle!!!!        123                    120.00     0.00
3     gagaga               123                    120.00   100.00
4     125555               passwd                 120.00   100.00

c14a965a3dde3de9f8d30815ce73aee2.png

d9331c6c214467c0fe2fc6a0181a292e.png


dcb71bd1e556199a7017e16036f7712d.png

8519cb418c46515514088578a6738d5a.png

SQL> create or replace procedure sp_pro7 is
  2  i number:=0;
  3  begin
  4  loop
  5  insert into users values(i,'test'||i);
  6  exit when i=3;
  7  i:=i+1;
  8  end loop;
  9  end;
 10  /
Procedure created


31ffac27186c77defee1e560952b4f64.png


2611b1745050029a5e8fddf8b3768fab.png



a8d55a25f660faba001c73d7d10c2aa8.png


目录
相关文章
|
8月前
|
SQL 存储 Oracle
Oracle的PL/SQL定义变量和常量:数据的稳定与灵动
【4月更文挑战第19天】在Oracle PL/SQL中,变量和常量扮演着数据存储的关键角色。变量是可变的“魔术盒”,用于存储程序运行时的动态数据,通过`DECLARE`定义,可在循环和条件判断中体现其灵活性。常量则是不可变的“固定牌”,一旦设定值便保持不变,用`CONSTANT`声明,提供程序稳定性和易维护性。通过 `%TYPE`、`NOT NULL`等特性,可以更高效地管理和控制变量与常量,提升代码质量。善用两者,能优化PL/SQL程序的结构和性能。
|
8月前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL隐式游标:数据的“自动导游”与“轻松之旅”
【4月更文挑战第19天】Oracle PL/SQL中的隐式游标是自动管理的数据导航工具,简化编程工作,尤其适用于简单查询和DML操作。它自动处理数据访问,提供高效、简洁的代码,但不适用于复杂场景。显式游标在需要精细控制时更有优势。了解并适时使用隐式游标,能提升数据处理效率,让开发更加轻松。
|
2月前
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
40 2
|
2月前
|
SQL 数据挖掘 Python
数据分析编程:SQL,Python or SPL?
数据分析编程用什么,SQL、python or SPL?话不多说,直接上代码,对比明显,明眼人一看就明了:本案例涵盖五个数据分析任务:1) 计算用户会话次数;2) 球员连续得分分析;3) 连续三天活跃用户数统计;4) 新用户次日留存率计算;5) 股价涨跌幅分析。每个任务基于相应数据表进行处理和计算。
|
5月前
|
SQL Oracle 关系型数据库
SQL与PL/SQL:数据库编程语言的比较
【8月更文挑战第31天】
100 0
|
5月前
|
SQL 数据库 索引
SQL 编程最佳实践简直太牛啦!带你编写高效又可维护的 SQL 代码,轻松应对数据库挑战!
【8月更文挑战第31天】在SQL编程中,高效与可维护的代码至关重要,不仅能提升数据库性能,还降低维护成本。本文通过案例分析探讨SQL最佳实践:避免全表扫描,利用索引加速查询;合理使用JOIN,避免性能问题;避免使用`SELECT *`,减少不必要的数据传输;使用`COMMIT`和`ROLLBACK`确保事务一致性;添加注释提高代码可读性。遵循这些实践,不仅提升性能,还便于后期维护和扩展。应根据具体情况选择合适方法并持续优化SQL代码。
71 0
|
7月前
|
SQL XML Java
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
82 3
|
7月前
|
SQL 数据库 Perl
PL/SQL中执行按钮变为灰色后如何恢复【已解决】
PL/SQL中执行按钮变为灰色后如何恢复【已解决】
553 0
|
8月前
|
SQL 分布式计算 关系型数据库
Spark编程实验三:Spark SQL编程
Spark编程实验三:Spark SQL编程
249 1
|
8月前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL游标属性:数据的“导航仪”与“仪表盘”
【4月更文挑战第19天】Oracle PL/SQL游标属性如同车辆的导航仪和仪表盘,提供丰富信息和控制。 `%FOUND`和`%NOTFOUND`指示数据读取状态,`%ROWCOUNT`记录处理行数,`%ISOPEN`显示游标状态。还有`%BULK_ROWCOUNT`和`%BULK_EXCEPTIONS`增强处理灵活性。通过实例展示了如何在数据处理中利用这些属性监控和控制流程,提高效率和准确性。掌握游标属性是提升数据处理能力的关键。