惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
T
Tailwind CSS Blog
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
腾讯CDC
GbyAI
GbyAI
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Last Week in AI
Last Week in AI
A
About on SuperTechFans
L
LangChain Blog
Engineering at Meta
Engineering at Meta
F
Fortinet All Blogs
G
Google Developers Blog
The Cloudflare Blog
云风的 BLOG
云风的 BLOG
D
Docker
博客园 - 聂微东
博客园 - 司徒正美
Recent Announcements
Recent Announcements
MyScale Blog
MyScale Blog
U
Unit 42

博客园 - 思净

oracle中的公用同义词和私有同义词? 对C#下函数,委托,事件的一点理解! - 思净 - 博客园 经典悖论漫游(下) 经典悖论漫游中 经典悖论 精彩悖论 悖论漫谈之三 悖论漫谈(二) 经典悖论 Oracle专家高级编程学习笔记 Oracle数据库结构之物理存储结构 Oracle专家高级编程学习笔记( 二) Oracle 基本知识 SQL子查询的一些例子 Oracle学习笔记---(三) Oracle学习笔记---(四) 掌握SQL四条最基本的数据操作语句 Oracle学习笔记---(五) Oracle学习笔记---(一)
简单的ORACLE存储过程
思净 · 2007-06-05 · via 博客园 - 思净

简单的ORACLE存储过程

--工资加500,OLD。SAL>2500 不加,NEW。SAL>2500 则改为2500;

SELECT * FROM EMP                                                                --加工资之前

CREATE OR REPLACE PROCEDURE SP_ADD (add IN number) is       --add参数接收传入的工资增幅

     --DECLARE
     --CURSOR emp_cur IS SELECT * FROM emp;
    
BEGIN
    
     FOR  sal_sum IN (SELECT * FROM emp) LOOP    --使用循环游标隐式打开游标emp_cur或    

                                                                                   --(SELECT * FROM emp)(在FOR循环中不需要声明此游标)
                                                                                   --自动从活动集获取行,然后在处理完所有行时关闭游标    
          IF sal_sum.sal > 2500 THEN                                             --逐行进行比较赋值
                UPDATE emp SET sal = sal_sum.sal WHERE empno = sal_sum.empno;
               
          ELSIF (sal_sum.sal + add) > 2500 THEN
                UPDATE emp SET sal = 2500 WHERE empno = sal_sum.empno;
               
          ELSE             
                UPDATE emp SET sal = sal_sum.sal + add  WHERE empno = sal_sum.empno;
          END IF;
         
     END LOOP;
    
END;


BEGIN
     SP_ADD(500);                                                                 --输入增资的幅度                                                                                                                     
END;

SELECT * FROM EMP                                                                 --加工资之后