`

PL/SQL入门

阅读更多
SQL>set serveroutput on;  --显示输出

-------------------------------------------------
--LOOP循环
declare
  i number:=1;
begin
  loop
    i:=i+1;
    exit when i=100;
    dbms_output.put_line(i);
  end loop;
 
end;

-------------------------------------------------
-- FOR LOOP循环50次
declare
  i number :=10;
begin
  for idx in 1..50 loop  --次数:50-1+1=50
    dbms_output.put_line(i);
  end loop;
end;

-------------------------------------------------
-- WHILE LOOP循环
declare
  i number :=100;
  j number :=1;
begin
  while(j<i) loop
    dbms_output.put_line(j);
    j:=j+1;
  end loop;
end;

-------------------------------------------------
--IF语句
declare
  i number :=40;
  j number :=10;
begin
  if(i<j) then
    dbms_output.put_line('OK');
  elsif (i=j) then
    dbms_output.put_line('OK1');
  else
    dbms_output.put_line('OK2');
  end if;
end;


=================================================
游标操作
=================================================

--显示游标
declare
  --建立显示游标
  cursor csr_1 is
     select name from stu1;
  cursor csr_2 is
     select id from stu1;
  --定义变量
  str varchar2(10);
  str2 varchar2(10);
begin
  --打开游标
  open csr_1;
  open csr_2;
  --附值
  fetch csr_1 into str;
  fetch csr_2 into str2;
  --输出
  dbms_output.put_line(str);
  dbms_output.put_line(str2);
end;

-------------------------------------------------
--取表某列全部记录(适合控制)
declare
  --建立显示游标
  cursor csr_1 is
     select name,note from stu1;
  --定义变量
  str  varchar2(10);
  str2 varchar2(10);
begin
  --打开游标
  open csr_1;
  loop
    fetch csr_1 into str,str2;
    exit when csr_1%notfound;  --到达记录尾
    dbms_output.put_line(str || str2);
  end loop;
 
  --关闭游标
  close csr_1;
end;

-------------------------------------------------
--FOR LOOP查询表全部记录(简单--打开、附值、关闭隐式完成)
declare
  --建立显示游标
  cursor csr_1 is
     select name,note from stu1;
begin
  for idx in csr_1 loop
    dbms_output.put_line(idx.name || idx.note);
  end loop;
end;


-------------------------------------------------
--利用游标复制表(效率不高)
declare
  cursor csr_1 is
     select ks_xm,ks_zkz,bk_cj from ahzk_all_cj;
  i number;
begin
  for idx in csr_1 loop
    insert into tmp values(idx.ks_xm,idx.ks_zkz,idx.bk_cj);
    i:=csr_1%rowcount;  --获取当前记录数
    if(i mod 1000=0) then
      dbms_output.put_line(i);
      commit;
    end if;   
  end loop;
  commit;
end;

--附:高效复制表
declare
begin
    insert into tmp
       select ks_xm,ks_zkz,bk_cj from ahzk_all_cj;
    if(sql%found) then
      dbms_output.put_line('插入' || sql%rowcount || '行记录');
    end if;
    commit;
end;
------------
分享到:
评论

相关推荐

    PL/SQL入门到精通书的源代码

    本资料“PL/SQL入门到精通书的源代码”是一份针对初学者到高级用户的实践教程,旨在帮助读者深入理解和掌握PL/SQL的各个方面。 在学习PL/SQL时,你需要了解以下几个关键知识点: 1. **基础语法**:PL/SQL由声明...

    非常合适的PL/sql 入门

    【PL/SQL 入门详解】 PL/SQL(Procedural Language/Structured Query Language)是Oracle公司为标准SQL添加的编程扩展,它被深度集成到Oracle数据库系统中,成为数据库管理和开发的重要工具。PL/SQL提供了更丰富的...

    Oracle Database 10g PL/SQL入门教程

    Oracle Database 10g PL/SQL入门教程是针对初学者设计的一份教程,旨在帮助读者掌握Oracle数据库系统中PL/SQL编程语言的基础知识。PL/SQL是Oracle数据库特有的编程语言,它结合了SQL(结构化查询语言)的功能,用于...

    oracle pl/sql从入门到精通 配套源代码

    这本书"Oracle PL/SQL从入门到精通"的配套源代码,显然是为了帮助读者通过实践来深入理解和掌握Oracle数据库的编程技术。 首先,让我们探讨Oracle PL/SQL的基础知识。PL/SQL是Oracle数据库的内置编程语言,由块构成...

    ORACLE PL/SQL从入门到精通

    ORACLE PL/SQL是从入门到精通的专业知识,涵盖了数据库开发与管理的多个方面,包括触发器、过程、函数、软件包、异常处理、游标、循环、分支、变量使用、数据库安装等关键知识点。 触发器是数据库中用来保证数据...

    整理:oracle pl/sql 入门+ 数组使用+游标+动态SQL

    1. Oracle PL/SQL入门: - PL/SQL的基本结构:PL/SQL由声明部分、执行部分和异常处理部分组成,用于定义变量、常量、游标、过程、函数等。 - 数据类型:了解PL/SQL中的内置数据类型,如NUMBER、VARCHAR2、DATE等,...

    java中Oracle Database 10g PL/SQL入门教程

    【标题】"Java中Oracle Database 10g PL/SQL入门教程"的描述涉及了学习Java编程语言,并特别提到了Oracle Database 10g的PL/SQL编程。Oracle Database 10g是一款关系型数据库管理系统,广泛应用于企业级数据存储和...

    oracle pl/sql入门教程

    本入门教程旨在帮助初学者快速理解并掌握Oracle PL/SQL的基础知识,通过丰富的实例来解析其核心概念。 一、PL/SQL简介 PL/SQL是Oracle数据库提供的过程化语言,它允许开发者编写包含SQL语句的程序块,用于执行复杂...

    Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(一)

    Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(一) http://download.csdn.net/source/3268267 Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(二) ...

    Oracle PL/SQL程序设计(第5版)(上下册)

    ### Oracle PL/SQL程序设计(第5版)(上下册)知识点概述 #### 一、PL/SQL编程基础 - **PL/SQL简介**:PL/SQL(Procedural Language for SQL)是Oracle数据库的一种内嵌式过程化语言,用于增强SQL的功能。它允许在SQL...

    Oracle存储过程和触发器(PL/SQL入门教程)

    Oracle存储过程和触发器(PL/SQL入门教程) Oracle存储过程和触发器(PL/SQL入门教程)

    Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(二)

     本书是专门为oracle应用开发人员提供的sql和pl/sql编程指南。通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法...

    PL/SQL开发文档1

    标题中提到的“PL/SQL开发文档1”,说明本文档是关于PL/SQL开发的入门级指导材料,面向希望学习使用PL/SQL进行数据库程序单元开发的用户。文档很可能是Oracle公司内部或其授权的培训机构用于教学目的的官方材料。 ...

    pl/sql入门教程

    plsql入门 游标变量 Oracle EXTRACT()函数 用Java调用存储过程 ORACLE用户常用数据字典的查询使用方法

    Oracle11g SQL和PL/SQL从入门到精通.part1

    学习oracle sql pl/sql入门的很不错的一本书。

    PL/SQL入门PPT

    快速了解PL/SQL的使用,属于专业培训机构的内部讲义。也可以用作普通数据库操作的温习。

    pl/sql学习笔记

    PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库中的过程式编程语言,它结合了SQL查询语句和传统的过程式编程元素,使得在数据库管理中进行复杂逻辑处理成为可能。以下是对PL/SQL的学习笔记...

    Oracle PL/SQL编程及最佳实践

    Oracle PL/SQL 编程及最佳实践 Oracle PL/SQL 是一种高级编程语言,用于开发 Oracle 数据库中的存储过程、函数和触发器。PL/SQL language 提供了强大的编程能力,可以实现复杂的业务逻辑,并且与 Oracle 数据库紧密...

Global site tag (gtag.js) - Google Analytics