`
gaoke
  • 浏览: 86769 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

db2存储过程、触发器、游标练习

    博客分类:
  • DB
阅读更多
drop table person
go
create table person
(
NUM INTEGER,
NAME VARCHAR(20),
AGE INTEGER,
RANK INTEGER,
COMMENT VARCHAR(100)
)
go
describe select * from person
go
--存储过程
create or replace procedure insertBatch(num integer,age integer,rank integer) --默认为in
language sql
begin
declare name varchar(20);
declare comment varchar(100);
declare num integer;
declare age integer;
declare rank integer;
set num = 1;
set age = 10;
set rank = 100;
while num <= 9
do
   set name = 'gaoke'||num;
   set comment = 'cccccc'||num;
   insert into person values(num,name,age,rank,comment);
   set num = num+1;
   set age = age+1;
   set rank = rank + 1;
end while;
end
go
--调用存储过程
call insertBatch (1,10,100)
go
commit
go
select * from person
go

--创建一个相关表
drop table update_count
go
create table update_count
(
id integer,
count integer
)
go
insert into update_count values(1,0)
go
select * from update_count
go
--函数
create or replace function afun()
returns integer
begin
return
(select count from update_count where id = 1);
end
go
--触发器
create or replace trigger atrigger
after update of age on person
referencing new as nnn old as ooo
for each row mode db2sql
begin atomic
update update_count set count = count+1 where id = 1;
end
go


--测试用,类似pl/sql的代码段,游标的使用(年龄大于12的人在原来的年龄上依次加1、2、3、4……)
begin
declare id integer;
declare n integer;
declare i integer;
declare step integer;
declare sqlcode integer default 0;
set i = 1;
begin
   declare cur cursor for select num,age from person;

   open cur;
   cursorLoop:
   loop
    fetch cur into id,n;
    if sqlcode = 100
     then leave cursorLoop;
    else
     if n > 12
     then
      set step = n + i;
      update person set age = step where num = id ;
      set i = i + 1;
     end if;
    end if;
   end loop;
   close cur;
end;
end
go
select * from person
go
select afun() from update_count
go
分享到:
评论

相关推荐

    存储过程触发器 游标

    本文将深入探讨存储过程、触发器和游标,以及它们在实际应用中的综合使用。 首先,让我们来理解存储过程。存储过程是预编译的SQL语句集合,它封装了一系列数据库操作并在需要时执行。这种高级的SQL构造可以提高性能...

    Mysql存储过程游标触发器

    Mysql存储过程游标触发器

    oracle笔记(存储过程函数触发器游标流程控制等)

    这份"oracle笔记(存储过程函数触发器游标流程控制等)"涵盖了Oracle数据库管理中的关键知识点,包括但不限于以下几个方面: 1. **存储过程与函数**:存储过程是预编译的SQL语句集合,用于执行特定任务。它们可以提高...

    mysql存储过程_游标_项目练习

    通过实践这些练习,你可以深入理解存储过程和游标的用法,提高数据库编程技能。 总之,MySQL的存储过程和游标是数据库开发中的重要工具,它们提供了灵活的数据处理能力,使得我们可以更有效地管理和操作数据。通过...

    oracle函数触发器游标等几个小例子

    3. **Oracle触发器**:触发器是一种特殊的存储过程,会在特定的数据库事件(如INSERT、UPDATE或DELETE)发生时自动执行。`V_InsertEquip.sql`可能包含一个插入触发器的示例,这种触发器在向特定表中插入新数据时被...

    实验八数据库编程技术——游标、存储过程与触发器.pdf

    数据库编程技术——游标、存储过程与触发器 数据库编程技术是数据库管理系统中的一种重要技术,用于实现数据库的自动化管理和数据处理。本节实验重点介绍游标、存储过程和触发器三种数据库编程技术的应用。 一、...

    sql存储过程和游标的运用

    SQL存储过程和游标的运用 SQL存储过程和游标是SQL语言中两个非常重要的概念,它们可以帮助开发者更好地管理和处理数据。在本节中,我们将详细介绍存储过程和游标的基本概念和应用。 什么是存储过程 存储过程是一...

    Oracle存储过程、游标、函数的详解

    ### Oracle存储过程、游标、函数的详解 #### 一、概述 在Oracle数据库中,存储过程、游标和函数是非常重要的组成部分,它们为数据库管理提供了强大的编程能力。通过学习这些概念,我们可以更加灵活地管理和操作...

    存储过程和游标

    ### 存储过程和游标知识点详解 #### 一、存储过程的概念与作用 存储过程是一种在数据库中存储并编译好的SQL程序,它可以接受参数并返回结果集或执行特定的任务。存储过程的主要优势在于提高了代码重用性、减少了...

    SQL学习教程-存储过程,游标,触发器

    本教程主要聚焦于SQL的三个核心概念:存储过程、游标和触发器,它们都是数据库编程和自动化的重要组成部分。 1. 存储过程: 存储过程是一组预先编译的SQL语句,存储在数据库服务器中,可以按需调用执行。它们提供了...

    sql高级应用包括存储过程,触发器,游标。。。

    本文将深入探讨其中的三个核心概念:存储过程、触发器和游标。 首先,存储过程是预编译的SQL语句集合,它可以视为可重复使用的数据库函数。存储过程有以下几个显著的优点: 1. **性能提升**:由于存储过程在首次...

    SQL SERVER中的存储过程和游标的使用大综合

    在"存储过程和游标创建使用大综合"的压缩包文件中,你可以找到更多关于这两个主题的实际例子和练习,帮助你深入理解和掌握SQL Server中存储过程和游标的使用方法。不断学习和实践这些知识,将有助于提升你在数据库...

    数据库实验报告-存储过程、触发器

    通过这些实验步骤,学生能够深入理解存储过程和触发器的工作原理及其在实际数据库应用中的作用。同时,这些操作也展示了如何在数据库管理系统中编写和管理这些数据库对象,有助于提升数据库设计和管理能力。

    DB2游标及动态SQL

    ### DB2游标及动态SQL详解 #### 一、DB2游标概念与使用 **1.1 游标简介** 在DB2中,游标是一种用于遍历查询结果集的强大工具。它允许用户一行一行地处理数据,这对于需要逐行处理数据的应用场景非常有用。游标通常...

    触发器和游标理论 中文

    触发器和游标是数据库管理系统中的两种重要工具,它们在数据处理和业务逻辑实现中扮演着关键角色。这里我们将深入探讨这两个概念,以及它们在实际应用中的作用。 首先,我们来了解一下触发器(Triggers)。触发器是...

    Java调用oracle存储过程通过游标返回临时表

    本篇文章将深入探讨如何使用Java调用Oracle存储过程,并通过游标获取存储过程中返回的临时表数据。 首先,Oracle存储过程是一种在数据库端执行的预编译SQL语句和PL/SQL代码集合。它可以接收参数、执行业务逻辑并...

    db2 存储过程语法与实例

    DB2存储过程是一种在数据库管理系统中预编译的SQL代码集合,它允许开发人员封装复杂的业务逻辑和数据处理操作,并可以被多次调用。DB2作为一款强大的关系型数据库管理系统,其存储过程功能强大,提高了应用程序的...

    数据库大型实验设计 包含游标触发器存储过程

    本实验设计涉及的核心概念是数据库中的高级特性,如存储过程、触发器和游标,这些都是数据库管理系统(DBMS)中实现复杂业务逻辑和自动化操作的关键工具。 首先,我们来深入理解一下“存储过程”。存储过程是一组...

    自己做的存储过程含游标例子

    自己做的存储过程含游标例子,对于初学存储过程和游标的人有帮助

Global site tag (gtag.js) - Google Analytics