`
121059457
  • 浏览: 23533 次
  • 性别: 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)、闪回数据库等。其中,自动内存管理...

    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 数据库体系结构基础、系统全局区(SGA)、实例(Instance)、Oracle 存储器结构等知识点。 一、 Oracle 数据库体系结构基础 Oracle ...

    韩顺平2011oracle学习笔记

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

    笔记本学习笔记

    这些文件名揭示了笔记本学习笔记中的主要内容,集中在Oracle数据库管理和SQL知识上。下面将详细解释这些知识点: 1. **DML(Data Manipulation Language)事务**:20120328-DML-Transaction.rar可能包含关于如何在...

    oracle经典学习笔记

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

    ORACLE学习笔记.pdf

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

    李兴华Oracle全部笔记

    最后,笔记可能还会包含Oracle的安全管理,包括用户权限、角色、审计和访问控制等内容,这对于确保数据库的安全性至关重要。 总的来说,李兴华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