`
wanghuanqiu
  • 浏览: 110089 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

SQL编程(四)

    博客分类:
  • SQL
阅读更多

十一放假,回来继续更新........

--IF 语句
DECLARE
v_job VARCHAR2(10);
v_sal NUMBER(6,2);
BEGIN
  SELECT job,sal INTO v_job,v_sal
  FROM emp WHERE empno=&no;
  IF v_job ='job'THEN
     UPDATE emp SET sal=v_sal +1000 WHERE dempno=&no;
  ELSE IF v_job='Man' THEN
     UPDATE emp SET sal = v_sal +2000 WHERE dempno=&no;
  ELSE
     UPDATE emp SET sal = v_sal +3000 WHERE dempno=&no;
  END IF;
END; 
               
--CASE 语句
DECLARE
  v_sal emp.sal%TYPE;
  v_ename emp.ename%TYPE;
BEGIN
  SELECT ename,sal INTO v_ename,v_sal
  FROM emp WHERE empno =&no;
  CASE
  WHEN v_sal <1000 THEN
     UPDATE emp SET comm=50 WHERE ename=v_ename;
  WHEN v_sal <2000 THEN
  UPDATE emp SET comm =80 WHERE ename =v_ename;
  WHEN v_sal <6000 THEN
  UPDATE emp SET comm=30 WHERE ename =v_ename;
 END CASE;
END;               

--LOOP循环

DECLARE
  i INT:=1;
BEGIN
  LOOP
  INSERT INTO temp values(i);
  EXIT WHEN i=10;
  i:=i+1;
  END LOOP;
END;

--WHILE 循环
DECLARE
  i INT:=1;
BEGIN
  WHILE i<=10 LOOP
  INSERT INTO temp values(i);
  i:=i+1;
  END LOOP;
END;
--FOR循环
DECLARE
  i INT:=1
BEGIN
   FOR i IN REVERSE 1..10 LOOP
     INSERT INTO temp VALUES(i);
    END LOOP;
END;

-- 嵌套循环
DECLARE
 result INT;
BEGIN
 <<outer>>
 FOR i IN 1..100 LOOP
 <<inner>>
 FOR j IN 1..100 LOOP
 result:=i*j;
 EXIT outer WHEN result =1000;
 EXIT WHEN result =500;
 END LOOP inner;
 END LOOP outer;
END;
--%ROWTYPE 定义记录变量
DECLARE
dept_record dept%ROWTYPE;
BEGIN
 dept_record.dno:='50';
 dept_record.dname:='admin';
 INSERT INTO dept values dept_record;
END;
--索引表
DECLARE
  TYPE a_table_type AS TABLE OF emp.ename%TYPE
       INDEX BY VARCHAR2(10);
       a_table a_table_type;
BEGIN
  a_table('沈阳'):=1;
END;
--嵌套表
DECLARE
TYPE ename_table_type IS TABLE OF emp.ename%TYPE;
   ename_table ename_table_type;
BEGIN
   ename_table:=ename_table_type('1','2','3');--构造函数
SELECT ename INTO ename_table(2) FROM emp
  WHERE empno='&no';
END;
--嵌套表插入数据
BEGIN
 INSERT INTO employee VALUES(1,'fei'.7000,phone_type('123456','9877665'));
EBD;
--检索嵌套表
DECLARE
 p_table phone_table_type;
 BEGIN
   SELECT phone INTO p_table
     FROM employee WHERE id =1;
    FOR i IN 1..p_table.count loop
     END LOOP;
 END;
--VARRAY()实现多维数组
DECLARE
   TYPE al_varray_type IS VARRAY(10) OF INT;
   TYPE nal_varray_type IS VARRAY(10) OF al_varray_type;
   nvl nal_varray_type:=nal_varray_type(
   al_varray_type(58,100,102),
   al_varray_type(44,22,33)
   );
BEGIN
  FOR i IN 1..nvl.count LOOP
   FOR j IN 1..nvl(i).count LOOP
   END LOOP;
  END LOOP;
END;
--批量绑定插入
DECLARE
 TYPE id_table_type AS TABLE OF NUMBER(6)
 INDEX BY BINARY_INTEGER;
 TYPE name_table_type AS TABLE OF VARCHAR2(10)
 INDEX BY BINARY_INTEGER;
 id_table id_table_type;
 name_table name_table_type;
 start_time NUMBER(10);
 end_time NUMBER(10);
BEGIN
 FOR i IN 1..5000 LOOP
  id_table(i):=i;
  name_table(i):='name'||to_char(i);
 END LOOP;
 FORALL i IN 1..id_table.count
   INSERT INTO demo VALUES (id_table(i),name_table(i));
END;

分享到:
评论

相关推荐

    Oracle高级开发课程之PL-SQL编程入门视频

    教程名称:Oracle高级开发课程之PL-SQL编程入门视频课程目录:【】PL_SQL编程课程_-lesson3【】PL_SQL编程课程_lesson5-2(完结)【】PL_SQL编程课程_最佳入门教程-intr1【】PL_SQL编程课程_最佳入门教程-lesson1【】...

    SQL编程词典,SQL帮助

    SQL编程词典,SQL帮助,程序员的好帮手

    SQL Server高级查询与T-SQL编程知识点汇总

    SQL Server高级查询与T-SQL编程是数据库管理与开发中的核心技能,涵盖了多个关键知识点。以下是对这些主题的详细说明: 1. **数据库设计**: - **需求分析**:这是设计过程的第一步,旨在理解用户的需求,确定系统...

    sql编程参考宝典电子书

    《SQL编程参考宝典电子书》是一本专为SQL学习者和开发者编写的全面指南,旨在帮助读者深入理解和掌握SQL语言的核心概念与实践技巧。在数据库管理领域,SQL(Structured Query Language)是不可或缺的语言,用于数据...

    MySQL技术内幕 SQL编程及优化.pdf

    1.2 sq|编程 1.3数据类型 1.4查询处理 1.5子查询 1.6联接与集合操作 1.7聚合和旋转操作 2. SQL优化 2.1优化SQL的一般步骤 2.2 索引问题. 2.3两个常用的优化技巧 2.4常用SQL优化 2.5常用SQL技巧 3.优化...

    Oracle SQL高级编程

    1. 存储过程和函数:编写使用PL/SQL编程语言的存储过程和函数,以实现复杂的逻辑和业务规则。 2. 高级查询技术:使用Oracle SQL的高级特性,如分析函数、子查询、连接以及数据聚合等。 3. 事务处理:深入理解如何...

    SQL编程思想:基于5种主流数据库代码实现.docx

    SQL 编程思想:基于 5 种主流数据库代码实现 SQL 编程思想是指使用结构化查询语言(SQL)对关系型数据库系统进行操作和管理的编程思想。SQL 是一种标准编程语言,用于管理关系型数据库系统,具有简洁明了的语法和...

    SQL Server2000设计与T-SQL编程

    《SQL Server 2000设计与T-SQL编程》这本书是针对数据库管理和开发人员的一份宝贵资源,尤其对于那些正在学习或已经使用Microsoft SQL Server 2000的读者来说,它提供了一套全面的知识体系。SQL Server作为一款强大...

    T-SQL 编程基础

    T-SQL 编程基础

    精通 ORACLE SQL高级编程 学习笔记

    精通Oracle SQL【第2版】ORACLE SQL高级编程【第二版】学习笔记

    Oracle.10g.Pl.SQL编程Oracle.10g.Pl.SQL编程Oracle.10g.Pl.SQL编程Oracle.10g.Pl.SQL编程

    Oracle.10g.Pl.SQL编程Oracle.10g.Pl.SQL编程Oracle.10g.Pl.SQL编程Oracle.10g.Pl.SQL编程Oracle.10g.Pl.SQL编程Oracle.10g.Pl.SQL编程Oracle.10g.Pl.SQL编程Oracle.10g.Pl.SQL编程Oracle.10g.Pl.SQL编程Oracle.10g....

    Oracle PL-SQL编程详解.pdf

    Oracle PL/SQL编程详解主要涵盖了数据库编程的关键方面,旨在帮助开发者深入理解如何利用PL/SQL进行高效、模块化的数据库应用开发。PL/SQL是Oracle数据库系统专用的一种过程化编程语言,它结合了SQL的查询能力并扩展...

    T-SQL编程基础_1

    ### T-SQL编程基础知识点详解 #### 一、T-SQL简介与基本概念 T-SQL(Transact-SQL)是Microsoft开发的一种SQL方言,主要用于SQL Server数据库管理系统中。它扩展了标准SQL的功能,提供了更丰富的编程能力,包括流程...

    T-SQL编程与应用

    【T-SQL编程与应用】是关于数据库编程的重要主题,主要涵盖了T-SQL语言的基础知识。T-SQL,全称Transact-SQL,是SQL Server所使用的扩展SQL语言,用于执行数据库查询、更新、事务处理等多种任务。 T-SQL语言的基础...

    PL-SQL编程 介绍

    PL/SQL编程对象包括存储过程、函数、包、触发器、类型等。这些对象可以直接在数据库中创建和调用,提高了代码复用性和数据库的集成能力。 通过以上知识点,我们可以看到PL/SQL作为一种强大的数据库编程语言,既具备...

    全美经典-SQL编程习题与解答

    全美经典-SQL编程习题与解答全美经典-SQL编程习题与解答全美经典-SQL编程习题与解答全美经典-SQL编程习题与解答

    Transact-SQL编程规范

    《Transact-SQL编程规范》概述了在使用T-SQL进行数据库编程时应当遵循的一系列准则,以提高代码的可读性、可维护性和性能。本文由郑佐编写,主要面向IT公司的设计开发人员,提供了关于T-SQL编程的基础原则和具体规范...

    SQL编程 学习资料.pdf

    SQL编程 学习资料,描述数据库sql语言的历史,及基本语法,包括事务,游标、联合、聚簇、子查询等等

    Java语言SQL编程接口part1

    Java语言SQL编程接口

Global site tag (gtag.js) - Google Analytics