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


目录
相关文章
|
5月前
|
SQL 存储 Oracle
Oracle的PL/SQL定义变量和常量:数据的稳定与灵动
【4月更文挑战第19天】在Oracle PL/SQL中,变量和常量扮演着数据存储的关键角色。变量是可变的“魔术盒”,用于存储程序运行时的动态数据,通过`DECLARE`定义,可在循环和条件判断中体现其灵活性。常量则是不可变的“固定牌”,一旦设定值便保持不变,用`CONSTANT`声明,提供程序稳定性和易维护性。通过 `%TYPE`、`NOT NULL`等特性,可以更高效地管理和控制变量与常量,提升代码质量。善用两者,能优化PL/SQL程序的结构和性能。
|
5月前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL隐式游标:数据的“自动导游”与“轻松之旅”
【4月更文挑战第19天】Oracle PL/SQL中的隐式游标是自动管理的数据导航工具,简化编程工作,尤其适用于简单查询和DML操作。它自动处理数据访问,提供高效、简洁的代码,但不适用于复杂场景。显式游标在需要精细控制时更有优势。了解并适时使用隐式游标,能提升数据处理效率,让开发更加轻松。
|
2月前
|
SQL Oracle 关系型数据库
SQL与PL/SQL:数据库编程语言的比较
【8月更文挑战第31天】
45 0
|
2月前
|
SQL 数据库 索引
SQL 编程最佳实践简直太牛啦!带你编写高效又可维护的 SQL 代码,轻松应对数据库挑战!
【8月更文挑战第31天】在SQL编程中,高效与可维护的代码至关重要,不仅能提升数据库性能,还降低维护成本。本文通过案例分析探讨SQL最佳实践:避免全表扫描,利用索引加速查询;合理使用JOIN,避免性能问题;避免使用`SELECT *`,减少不必要的数据传输;使用`COMMIT`和`ROLLBACK`确保事务一致性;添加注释提高代码可读性。遵循这些实践,不仅提升性能,还便于后期维护和扩展。应根据具体情况选择合适方法并持续优化SQL代码。
28 0
|
4月前
|
SQL XML Java
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
62 3
|
4月前
|
SQL 数据库 Perl
PL/SQL中执行按钮变为灰色后如何恢复【已解决】
PL/SQL中执行按钮变为灰色后如何恢复【已解决】
335 0
|
5月前
|
SQL 分布式计算 关系型数据库
Spark编程实验三:Spark SQL编程
Spark编程实验三:Spark SQL编程
81 1
|
5月前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL游标属性:数据的“导航仪”与“仪表盘”
【4月更文挑战第19天】Oracle PL/SQL游标属性如同车辆的导航仪和仪表盘,提供丰富信息和控制。 `%FOUND`和`%NOTFOUND`指示数据读取状态,`%ROWCOUNT`记录处理行数,`%ISOPEN`显示游标状态。还有`%BULK_ROWCOUNT`和`%BULK_EXCEPTIONS`增强处理灵活性。通过实例展示了如何在数据处理中利用这些属性监控和控制流程,提高效率和准确性。掌握游标属性是提升数据处理能力的关键。
|
5月前
|
SQL Oracle 安全
Oracle的PL/SQL循环语句:数据的“旋转木马”与“无限之旅”
【4月更文挑战第19天】Oracle PL/SQL中的循环语句(LOOP、EXIT WHEN、FOR、WHILE)是处理数据的关键工具,用于批量操作、报表生成和复杂业务逻辑。LOOP提供无限循环,可通过EXIT WHEN设定退出条件;FOR循环适用于固定次数迭代,WHILE循环基于条件判断执行。有效使用循环能提高效率,但需注意避免无限循环和优化大数据处理性能。掌握循环语句,将使数据处理更加高效和便捷。
|
5月前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL表达式:数据的魔法公式
【4月更文挑战第19天】探索Oracle PL/SQL表达式,体验数据的魔法公式。表达式结合常量、变量、运算符和函数,用于数据运算与转换。算术运算符处理数值计算,比较运算符执行数据比较,内置函数如TO_CHAR、ROUND和SUBSTR提供多样化操作。条件表达式如CASE和NULLIF实现灵活逻辑判断。广泛应用于SQL查询和PL/SQL程序,助你驾驭数据,揭示其背后的规律与秘密,成为数据魔法师。
下一篇
无影云桌面