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

学习笔记:12访问oracle

阅读更多

12-1:使用标量接收数据
	DECLARE
	  v_ename emp.ename%TYPE;
	  v_sal   emp.sal%TYPE;
	BEGIN
	  SELECT ename,sal INTO v_ename,v_sal
	  FROM emp WHERE empno=&no;
	  dbms_output.put_line('姓名:'||v_ename);
	  dbms_output.put_line('工资:'||v_sal);
	END;
	/
12-2:使用纪录变量接收数据
	DECLARE
	  TYPE emp_record_type IS RECORD (
	    name emp.ename%TYPE,title emp.job%TYPE);
	  emp_record emp_record_type;
	BEGIN
	  SELECT ename,job INTO emp_record
	  FROM emp WHERE empno=&no;
	  dbms_output.put_line('姓名:'||emp_record.name);
	  dbms_output.put_line('岗位:'||emp_record.title);
	END;
	/
12-3:no_date_found 异常
	DECLARE
	  v_ename emp.ename%TYPE;
	  v_sal   emp.sal%TYPE;
	BEGIN
	  SELECT ename,sal INTO v_ename,v_sal
	  FROM emp WHERE empno=&no;
	  dbms_output.put_line('姓名:'||v_ename);
	  dbms_output.put_line('工资:'||v_sal);
	END;
	/
12-4:too_many_rows异常
	DECLARE
	  v_ename emp.ename%TYPE;
	  v_sal   emp.sal%TYPE;
	BEGIN
	  SELECT ename,sal INTO v_ename,v_sal
	  FROM emp WHERE deptno=&no;
	  dbms_output.put_line('姓名:'||v_ename);
	  dbms_output.put_line('工资:'||v_sal);
	END;
	/
12-5:变量名不能与列名相同
	DECLARE
	  empno NUMBER(6):=7788;
	  v_ename VARCHAR2(10);
	BEGIN
	  SELECT ename INTO v_ename FROM emp
	  WHERE empno=empno;
	END;
	/
12-6:使用values子句插入数据
	DECLARE
	  v_deptno dept.deptno%TYPE;
	  v_dname  dept.dname%TYPE;
	BEGIN
	  v_deptno:=&no;
	  v_dname:='&name';
	  INSERT INTO dept (deptno,dname)
	  VALUES(v_deptno,v_dname);
	END;
	/
12-7:使用子查询插入数据
	 DECLARE
	  v_deptno emp.deptno%TYPE:=&no;
	BEGIN
	  INSERT INTO employee
	  SELECT * FROM emp WHERE deptno=v_deptno;
	END;
	/
12-8:使用表达式更新列值
	DECLARE
	  v_deptno dept.deptno%TYPE:=&no;
	  v_loc dept.loc%TYPE:='&loc';
	BEGIN
	  UPDATE dept SET loc=v_loc
	  WHERE deptno=v_deptno;
	END;
	/
12-9:使用子查询更新列值
	DECLARE
	  v_ename emp.ename%TYPE:='&name';
	BEGIN
	  UPDATE emp SET (sal,comm)=
	  (SELECT sal,comm FROM emp WHERE ename=v_ename)
	  WHERE job=(SELECT job FROM emp WHERE ename=v_ename);
	END;
	/
12-10:使用变量删除数据
	DECLARE
	  v_deptno dept.deptno%TYPE:=&no;
	BEGIN
	  DELETE FROM dept WHERE deptno=v_deptno;
	END;
	/
12-11:使用子查询删除数据
	DECLARE
	  v_ename emp.ename%TYPE:='&name';
	BEGIN
	  DELETE FROM emp
	  WHERE deptno=(SELECT deptno FROM emp
	    WHERE ename=v_ename);
	END;
	/
12-12:sql%found
	DECLARE
	  v_deptno emp.deptno%TYPE:=&no;
	BEGIN
	  UPDATE emp SET sal=sal*1.1
	  WHERE deptno=v_deptno;
	  IF SQL%FOUND THEN
	    dbms_output.put_line('删除了'||SQL%ROWCOUNT||'行');
	  ELSE
	    dbms_output.put_line('该部门不存在雇员');
	  END IF;
	END;
	/
12-13:sql%notfound
	DECLARE
	  v_deptno emp.deptno%TYPE:=&no;
	BEGIN
	  UPDATE emp SET sal=sal*1.1
	  WHERE deptno=v_deptno;
	  IF SQL%NOTFOUND THEN
	    dbms_output.put_line('该部门不存在雇员');
	  ELSE
	    dbms_output.put_line('删除了'||SQL%ROWCOUNT||'行');
	  END IF;
	END;
	/
12-14:sql%rowcount
	DECLARE
	  v_deptno emp.deptno%TYPE:=&no;
	BEGIN
	  UPDATE emp SET sal=sal*1.1
	  WHERE deptno=v_deptno;
	  dbms_output.put_line('修改了'||SQL%ROWCOUNT||'行');
	END;
	/
12-15:commit和rollback
	DECLARE
	  v_sal emp.sal%TYPE:=&salary;
	  v_ename emp.ename%TYPE:='&name';
	BEGIN
	  UPDATE emp SET sal=v_sal WHERE ename=v_ename;
	  COMMIT;
	EXCEPTION
	  WHEN OTHERS THEN
	    ROLLBACK;
	END;
	/
12-16:rollback和savepoint
	BEGIN
	  INSERT INTO temp VALUES(1);
	  SAVEPOINT a1;
	  INSERT INTO temp VALUES(2);
	  SAVEPOINT a2;
	  INSERT INTO temp VALUES(3);
	  SAVEPOINT a3;
	  ROLLBACK TO a2;
	  COMMIT;
	END;
	/












































分享到:
评论

相关推荐

    Oracle学习笔记精华版

    Oracle学习笔记精华版是针对数据库管理系统Oracle的一份重要学习资源,涵盖了从基础概念到高级特性的全面知识。Oracle,作为全球广泛使用的大型企业级数据库系统,对于IT专业人员尤其是数据库管理员(DBA)来说,是...

    ORACLE经典学习笔记

    ### ORACLE经典学习笔记知识点概览 #### 第一章 ORACLE 命令 本章节主要介绍了Oracle数据库中常用的命令及其使用方法。 1. **查看参数文件**: `Desc v$parameter` - 这个命令用于查看Oracle的参数文件信息,通过...

    oracle学习笔记整理

    以下是对Oracle学习笔记整理的主要知识点的详细说明: 1. **数据库选择**: 在决定使用哪种数据库时,通常需要考虑项目的规模、性能需求、安全性要求以及可用资源。Oracle数据库因其稳定性、可扩展性和高性能而被...

    Oracle SQLServer数据库 学习笔记

    这篇学习笔记将深入探讨这两个系统的概念、特性和应用。 一、Oracle数据库系统 Oracle数据库是由甲骨文公司开发的一款强大、高性能的数据库解决方案。其主要特点包括: 1. **分布式数据库**:Oracle支持多节点的...

    oracle官方中文文档+学习笔记

    这份"oracle官方中文文档+学习笔记"资源为初学者和经验丰富的DBA提供了宝贵的参考资料,可以帮助他们深入理解Oracle数据库的核心概念和技术。 Oracle 10g Concepts文档是Oracle数据库10g版本的主要理论指南,它详细...

    oracle学习笔记下载

    ### Oracle 学习笔记知识点概览 #### 一、Oracle 数据库系统参数查询与管理 在 Oracle 数据库的学习过程中,了解如何查看和管理数据库的系统参数是非常重要的。这些参数直接影响着数据库的性能和稳定性。 ##### ...

    最牛逼的Oracle 11g OCP学习笔记

    以下是对这份"最牛逼的Oracle 11g OCP学习笔记"中的关键知识点的详细阐述: 一、Oracle 11g基础知识 Oracle 11g引入了许多新特性,如自动内存管理、数据屏蔽、实时应用集群(RAC)、闪回数据库等。其中,自动内存管理...

    oracle 数据库学习笔记(全)

    Oracle 数据库学习笔记(全) Oracle 数据库学习笔记是学习 Oracle 数据库的重要笔记,涵盖了 Oracle 数据库的基本概念、数据类型、表的创建和管理、用户管理、权限管理、数据操作等方面的知识点。 一、Oracle ...

    Ora12c学习笔记.docx

    Oracle 12c 学习笔记 本文档旨在为读者提供 Oracle 12c 的基础知识,涵盖 Oracle 的基本介绍、存储的介绍、基本数据对象、表空间的管理、升级到 Oracle 12c 以及数据库的物理布局和存储管理等方面。 Oracle 体系...

    MSDN oracle学习笔记

    在“MSDN Oracle学习笔记”中,我们可以期待找到关于Oracle数据库的详细讲解和实践指导。 首先,Oracle数据库的基础知识是必不可少的。这通常涵盖数据库系统的基本概念,如SQL(结构化查询语言)的使用,数据类型,...

    Oracle 超强学习笔记

    本"Oracle超强学习笔记"将带你深入探索Oracle的世界,掌握从基础到高级的各种技术,助你在数据库管理领域提升专业技能。 1. **Oracle简介** Oracle数据库是由美国甲骨文公司开发的关系数据库系统,其核心组件包括...

    oracle上课学习笔记

    Oracle数据库是世界上最广泛使用的数据库管理系统之一,用于...以上就是Oracle数据库学习笔记中涉及的主要知识点,对于理解和操作Oracle数据库至关重要。深入理解和掌握这些概念,将有助于你成为更优秀的数据库管理员。

    Oracle_认证学习笔记

    Oracle 认证学习笔记 本文档主要讲述 Oracle 认证学习笔记,涵盖了 Oracle 数据库体系结构基础、系统全局区(SGA)、实例(Instance)、Oracle 存储器结构等知识点。 一、 Oracle 数据库体系结构基础 Oracle ...

    Oracle学习笔记_(PDF版)

    ### Oracle学习笔记要点 #### 一、SQL Plus的使用方法 - **命令行方式**: 在命令行中直接输入 `sqlplus` 命令,并随后输入用户名和密码。 - **客户端方式**: 使用Oracle提供的SQL Plus客户端工具进行登录。 - **Web...

    韩顺平2011oracle学习笔记

    韩顺平2011年的Oracle学习笔记主要涵盖了Oracle的基本使用方法,包括一系列的基本命令。 1. **连接命令**:在Oracle中,我们通常使用SQL*Plus作为客户端工具连接到数据库服务器。连接命令是`sqlplus [username/...

    oracle经典学习笔记

    "Oracle经典学习笔记"显然是一份全面且深入的教程,旨在帮助学习者掌握Oracle的核心概念和技术。这份笔记可能包含了从基础到高级的各种主题,确保读者能够系统地理解和应用Oracle。 1. **Oracle基础知识**: Oracle...

    ORACLE学习笔记.pdf

    12. **Oracle逻辑结构**: 由表空间、段、区、数据库块构成,其中数据库块是最小I/O单位,大小由参数DB_BLOCK_SIZE定义。 这些知识点构成了Oracle数据库的基础架构和运行机制,对于理解和操作Oracle数据库至关重要。...

    李兴华Oracle全部笔记

    最后,笔记可能还会包含Oracle的安全管理,包括用户权限、角色、审计和访问控制等内容,这对于确保数据库的安全性至关重要。 总的来说,李兴华Oracle全部笔记是一份全面且深入的Oracle学习资料,不仅适合初学者入门...

    oracle学习笔记001_oracle10g安装

    本文将详述“Oracle学习笔记001_oracle10g安装”中的关键知识点,帮助初学者理解并掌握Oracle 10g的安装过程。 首先,安装Oracle 10g前,需要确保你的操作系统环境满足其兼容性要求。Oracle 10g支持Windows、Linux...

Global site tag (gtag.js) - Google Analytics