`
mxx_1111
  • 浏览: 59103 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Oracle数据库基本概念理解(3)

 
阅读更多
/*
===========================================================
|         PL/SQL编程
============================================================
*/
--声明变量
DECLARE
  V_NAME VARCHAR2(20); --一般变量
  V_AGE NUMBER(2);
  v_id   SUN.TUSER.USERID%TYPE:=14;--属性变量
  v_user SUN.TUSER%ROWTYPE; --行属性变量
BEGIN
  --赋常量值
  V_NAME:='Tom';
  V_AGE :=20;
  DBMS_OUTPUT.put_line('姓名:'||V_NAME||'年龄:'||V_AGE);
  --SELECT *  FROM SUN.TUSER;
  --通过SELECT INTO给变量赋值
  SELECT USERNAME,USERID INTO V_NAME,V_AGE  FROM SUN.TUSER;
 -- WHERE USERID=v_id;
  DBMS_OUTPUT.put_line('姓名:'||V_NAME||'年龄:'||V_AGE);
  --给行属性变量赋值
  select * into v_user from sun.tuser where userid=v_id;
  dbms_output.put_line('----------------------------');
  dbms_output.put_line(v_user.username);
   dbms_output.put_line('----------------------------');
EXCEPTION--异常处理
  WHEN NO_DATA_FOUND THEN
    DBMS_OUTPUT.put_line('用户编号不正确!');
  WHEN OTHERS THEN
      DBMS_OUTPUT.put_line('错误:'||SQLERRM); 
END;

--循环
/*
===========================================================
|         循环语句
============================================================
*/
declare
  v_count number:=1; --声明变量并赋值
  v_sum number:=0;
begin
  /*loop   --loop循环
    v_sum:=v_sum+v_count;
    v_count:=v_count+1;
    exit when v_count>10;
   end loop;
   */
  /* while v_count<=10 loop  --while 循环
     v_sum:=v_sum+v_count;
     v_count:=v_count+1;
    end loop;*/
   for i in 1..10 loop --for循环
      v_sum:=v_sum+i; 
    end loop; 
   dbms_output.put_line(v_sum);
end;


/*
===========================================================
|         游标
============================================================
*/

DECLARE 
 --声明游标
  CURSOR USER_CUR IS
     SELECT USERID,USERNAME 
     FROM SUN.TUSER;
  V_ID SUN.TUSER.USERID%TYPE;
  V_NAME SUN.TUSER.USERNAME%TYPE;   
BEGIN
  --第一种使用游标方式
  /* 
 OPEN USER_CUR;--打开游标
 LOOP   --遍历游标
     FETCH USER_CUR INTO V_ID,V_NAME;
     EXIT WHEN USER_CUR%NOTFOUND;
     DBMS_OUTPUT.put_line('第'||USER_CUR%ROWCOUNT||'个学生:'||V_ID||' '||V_NAME);
  END LOOP;
  close user_cur; --关闭游标
  */

  --第二种使用方式  for 遍历游标  这种方式不用先打开游标
  for v_user in USER_CUR LOOP
       DBMS_OUTPUT.put_line('第'||USER_CUR%ROWCOUNT||
       '个学生:'||v_user.USERID||
       ' '||V_USER.USERNAME);
    END LOOP;  
END;  


/*
===========================================================
|          存储过程
============================================================
*/ 
--创建存储过程
  CREATE or replace PROCEDURE INSERT_USER
  ( V_USERID NUMBER,
   V_NAME VARCHAR2,
   V_PWD VARCHAR2)
   IS
   BEGIN
     INSERT INTO SUN.TUSER(USERID,USERNAME,PWD)
    VALUES(V_USERID,V_NAME,V_PWD);
 END;

/*
===========================================================
|         存储过程调用 
============================================================
*/ 
--存储过程调用 
 begin  
 --按位置调用
 --INSERT_USER(14,'111','111') ;
 --按名称
 INSERT_USER(V_USERID=>15,V_PWD=>'222',V_NAME=>'222') ;
end;  
    
 --符合规则的存储过程
 CREATE PROCEDURE INSERT_USER2 (
  V_USERID SUN.TUSER.USERID%TYPE, --使用属性变量
   V_NAME SUN.TUSER.USERNAME%TYPE,
   V_PWD SUN.TUSER.PWD%TYPE,
   ON_FLAG OUT NUMBER,  --输出参数
   ON_MSG OUT VARCHAR2  
   )
   IS
   BEGIN
     ON_FLAG:=1;
     ON_MSG:='添加成功!';
     INSERT INTO SUN.TUSER(USERID,USERNAME,PWD)
    VALUES(V_USERID,V_NAME,V_PWD);
   EXCEPTION  --异常处理
     WHEN OTHERS THEN 
        ON_FLAG:=SQLCODE; --异常代码
        ON_MSG:=SQLERRM; --异常信息输出变量
        rollback;
 END;
--调用
DECLARE
  V_FLAG NUMBER;
  V_MSG VARCHAR2(100);
BEGIN
   INSERT_USER2(16,'555','555',V_FLAG,V_MSG );
   DBMS_OUTPUT.put_line(V_FLAG||V_MSG);
  -- select * from sun.tuser;
END;     
   

分享到:
评论

相关推荐

    Oracle数据库大作业

    【Oracle数据库大作业】是一个关于Oracle数据库在教务管理系统中的应用项目,可能涵盖了数据库设计、实施、优化等多个方面的内容。这个大作业包含了PPT演示文稿、Word文档以及可能的源代码,为学习者提供了全面了解...

    Oracle数据库系统应用与开发

    这包括对数据库概念的理解,如数据模型(如层次、网状和关系模型)、表结构、索引、存储过程、触发器等。此外,了解SQL语法,包括DML(数据操纵语言)用于插入、更新和删除数据,以及DDL(数据定义语言)用于创建和...

    Oracle数据库体系结构( 中文详细版)

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其强大的功能和稳定性使其在企业级应用中占据了重要地位。...通过理解这些核心概念,可以更好地管理和优化Oracle数据库,提升系统的稳定性和性能。

    oracle数据库编程pdf文档教案

    这份"Oracle数据库编程pdf文档教案"提供了从基础到高级的Oracle学习路径,通过5天的学习内容,帮助读者深入理解并掌握Oracle数据库的使用。 在Oracle数据库编程中,首先会涉及到SQL(结构化查询语言),这是与...

    Oracle数据库使用指南

    1.1.4 Oracle数据库基本概念 Oracle数据库由多个组件组成,如数据库实例(Instance)、数据库文件(Data Files)、控制文件(Control Files)、重做日志文件(Redo Log Files)等。实例是运行在操作系统上的内存结构...

    oracle数据库AB试卷.rar

    oracle数据库应用与开发试卷两套,含标准答案与参考评分,希望能够...从考试结果来看,学生基本掌握了Oracle数据库的基本概念、基本方法和基本技术,并能够运用所学习到的知识灵活应用到实际工作中去,达到了教学目的。

    Oracle数据库的基本概念.pptx

    本章主要涵盖了Oracle数据库的基础概念、管理和操作,旨在帮助初学者理解Oracle的核心原理和基本操作。 首先,Oracle数据库的基本概念涉及模式对象、用户账号、权限和角色、空间、数据字典以及备份和恢复。 模式...

    关于Oracle数据库的一些基础知识

    总结,Oracle数据库的学习是一个循序渐进的过程,从掌握基本的SQL语法和数据库概念,到熟悉数据库管理与优化,再到解决实际问题,都需要不断实践和积累经验。通过阅读"Oracle数据库傻瓜一千问"和深入学习相关文档,...

    Oracle数据库学习课件

    1. **Oracle数据库基础**:首先,你会了解到数据库的基本概念,如数据模型(层次、网络、关系)、关系数据库理论,以及Oracle数据库系统的特点和优势。此外,还会介绍Oracle数据库的安装、配置和初始化过程。 2. **...

    Oracle数据库试题100题(附答案)

    在数据库管理中,Oracle数据库的表空间概念非常重要。一个表空间可以包含多个数据文件,而一个数据文件只能属于一个表空间。用户在创建时,默认表空间为SYSTEM,但是在生产环境中,一般会为不同的用户指定不同的默认...

    Oracle数据库基础教程-参考答案

    【Oracle数据库基础】 Oracle数据库是一种广泛应用于企业的关系型数据库管理系统,由Oracle公司开发,以其高效、稳定和强大的功能著称。...理解和掌握这些基础知识对于使用和管理Oracle数据库至关重要。

    Abp项目模板使用Oracle数据库

    Abp(ASP.NET Boilerplate)是一个开源框架,用于构建现代Web应用和服务。它提供了一套强大的基础设施,包括分层架构、...同时,对Oracle数据库的深入理解和Abp框架的熟练掌握,将是提高开发效率和保证系统质量的关键。

    oracle数据库实例视频教程01

    本"Oracle数据库实例视频教程01"是针对初学者和希望深化Oracle知识的人员设计的一系列教学资源,旨在帮助理解Oracle数据库的基础概念、安装配置以及基本操作。 在本教程中,首先会介绍Oracle数据库的概述,包括它的...

    ORACLE数据库备份用bat脚本

    首先,让我们理解"Oracle数据库备份用bat脚本"的概念。批处理脚本是Windows操作系统中的一种命令文件,可以包含一系列的DOS命令,用于自动化执行特定的任务。在Oracle数据库环境中,我们可以利用Oracle的数据泵工具...

    oracle数据库操作手册

    本操作手册将深入探讨Oracle数据库的核心概念、安装配置、管理维护以及SQL查询等多个方面,帮助用户全面理解和掌握Oracle数据库的操作。 1. **Oracle数据库核心概念** - **数据库实例与数据库**:Oracle数据库实例...

    Oracle数据库入门教材(PDF)

    本入门教材主要针对初学者,旨在帮助你建立起对Oracle数据库的基本理解和操作技能。 一、Oracle数据库简介 Oracle数据库是由美国Oracle公司开发的,它提供了一套完整的数据管理和分析工具,包括数据库服务器、开发...

    易语言oracle数据库连接模块源码

    在易语言中,开发者可以利用这些基础概念和方法,构建出强大的Oracle数据库应用。无论是简单的数据查询,还是复杂的业务逻辑处理,都能借助易语言和Oracle数据库连接模块实现。对于初学者,理解这些基本原理并结合...

    Oracle数据库应用课件

    通过这门课程,学习者将对Oracle数据库有一个全面的理解,为后续的数据库管理和开发工作打下坚实基础。同时,理解并掌握Oracle的体系结构和SQL*PLUS的使用,将有助于提升在实际工作中解决问题的能力。在实践中不断...

Global site tag (gtag.js) - Google Analytics