`
liuguofeng
  • 浏览: 450416 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Oracle使用手册(一)---声明变量

阅读更多

Oracle使用手册(一)---声明变量 
/**//* 
--建表 
create table student( 
recordid number(38), 
sid int not null , 
sname varchar2(50), 
sdate date, 
sage  number(3) 
); 
*/ 
--删除表 
--drop table student; 


--插入数据 
/**//* 
set serveroutput on  --允许服务器输出 
declare 
maxrecords constant int:=100; 
i int:=1; 
begin 
for i in 1..maxrecords 
loop 
insert into student(sid,sdate)values(i,sysdate); 
end loop 
--dbms_output.put_line('成功录入数据!'); 
commit; 
end; 
*/ 
--select * from student; 
--声明一个变量 
/**//* 
declare 
pi constant number(9):=3.1415926; 
begin 
commit; 
end; 
*/ 
--复合数据类型(常见的五种) 
--1 .使用 %type 定义变量 
--为了让PL/SQL中变量的类型和数据表中的字段的数据类型一致,Oracle 9i提供了%type定义方法。 
--这样当数据表的字段类型修改后,PL/SQL程序中相应变量的类型也自动修改. 
/**//* 
Declare 
        mydate student.sdate%type; 
    begin 
        commit; 
    end; 
*/ 
--2. 定义记录类型变量 
--将多个基本数据类型捆绑在一起的记录数据类型。 

/**//* 
set serveroutput on 
    declare 
        type myrecord is record( 
           sid int, 
           sdate date); 
        srecord myrecord; --声明一个自定义记录类型变量的实例 
    begin 
        select sid,sdate into srecord from student where sid=68; 
        dbms_output.put_line('ID: '|| srecord.sid ||'Date:'||  srecord.sdate); --'||': 它是字符串连接符. 
    end; 
*/ 
    
--3.使用 %rowtype 变量 
--使用%type可以使变量获得字段的数据类型,使用%rowtype可以使变量获得整个记录的数据类型。 
--比较两者定义的不同:变量名 数据表.列名%type,变量名 数据表%rowtype。 
/**//* 
set serveroutput on 
Declare 
        mytableRow student%rowtype; 
    begin 
       select * into mytableRow 
       from student 
       where sid=88; 
       dbms_output.put_line(mytableRow.sid || mytableRow.sdate); 
    end; 
*/ 
--4.定义一维表类型变量 
--表类型变量和数据表是有区别的,定义表类型变量的语法如下: 
-- ――――――――――――――――――――――――――――――――――――― 
--    type 表类型 is table of 类型 index by binary_integer; 
--    表变量名 表类型; 
-- ――――――――――――――――――――――――――――――――――――― 
-- 类型可以是前面的类型定义,index by binary_integer子句代表以符号整数为索引, 
-- 这样访问表类型变量中的数据方法就是“表变量名(索引符号整数)”。 
/**//* 
  Declare 
       type tabletype1 is table of varchar2(4) index by binary_integer; --定义一个字符型的一维数组 
       type tabletype2 is table of student.sid%type index by binary_integer;--定义了一个整数数型的数组 
    table1 tabletype1;  --实例声明 
    table2 tabletype2;  --实例声明 
    begin 
       table1(1):='学生'; 
       table1(2):='职员'; 
       table2(1):=88; 
       table2(2):=89; 
       dbms_output.put_line(table1(1)||table2(1)); 
       dbms_output.put_line(table1(2)||table2(2)); 
    end; 
*/ 
--5.定义多维类型表变量 
--相当于定义多维数组. 
--注意在运行下面的语句前要在数据库中插入数据. 
Declare 
      type tabletype1 is table of student%rowtype index by binary_integer; 
      table1 tabletype1; 
    begin 
       select * into table1(60) 
       from student 
       where sid=60; 
       dbms_output.put_line(table1(60).sid ||table1(60).sdate); 
    end; 






一、概述: 
  1、PLSQL 块结构: 
  DECLARE --- 可选 
  变量声明定义 
  BEGIN ---- 必选 
  SQL 和PLSQL 语句 
  EXCEPTION ---- 可选 
  错误处理 
  END;---- 必选 
  二、实例: 
  declare 
  vjob varchar(9); 
  v_count number:=0; 
  vtotal date:=sysdate +7; 
  c_tax constant number(3,2):=8.25; 
  v_valid boolean not null:=true; 
  begin 
  select sysdate into vtotal from dual; 
  end; 
  / 
  上例中,如果没有这个SELECT语句,会如何? 
  出错,说明必须有STATEMENTS 
  如果: select sysdate from dual into vtotal ; 
  同样,也不行。而且变量与赋值的类型要匹配。 

  --  "查询结果"  into "变量"  是将查询出来的结果赋给 后面的变量 
  -- 另一种赋值方式: 
  /*   例: 
   Declare     
          emp_id   char(4);   
          emp_name   varchar2(20);   
    
    begin   
   emp_id:='1234';   
    emp_name:='Trybird';   
   end;   
  */ 
  三、%TYPE的属性 
  声明一个变量使之与数据库某个列的定义相同或与另一个已经定义过的变量相同 
  所以%TYPE要作为列名的后缀:如: 
  v_last_name s_emp.last_name%TYPE; 
  v_first_name s_emp.first_name%TYPE; --这样做的好处是我们不必去知晓此列的类型与定义 
  或:v_balance NUMBER(7,2); 
  v_minimum_balance v_balance%TYPE := 10; 
  四、声明一个布尔类型的变量 
  1 只有TRUE、FALSE、NULL可以赋值给BOOLEAN变量 
  2 此变量可以接逻辑运算符NOT、AND、OR。 
  3、变量只能产生TRUE、FALSE、NULL。 
  实例: 
  VSAL1:=50000; 
  VSQL2:=60000; 
  VCOMMSAL BOOLEAN:=(VSAL1<VSQL2); 
  --其实是把TRUE赋值给此变量。 
  五、LOB 类型的变量 
  共有CLOB、BLOB、BFILE、NCLOB几种,这里不做为重点。 
  六:使用HOST VARIABLES 
  SQL> variable n number 
  SQL> print n 
  :n=v_sal /12; 
  :n这个加了:前缀的变量不是PLSQL变量,而是HOST。 

分享到:
评论

相关推荐

    Oracle参考手册---经典版

    手册会涵盖PL/SQL的语法结构、变量声明、控制流程语句和异常处理。 5. **数据库管理**:这部分可能包括数据导入导出、备份恢复、权限管理、索引创建和优化、表空间管理等日常维护任务。 6. **性能优化**:Oracle...

    oracle操作手册.zip

    Oracle数据库系统是全球广泛使用的大型关系型数据库管理系统之一,它为各类企业和组织提供高效、安全的数据存储和管理解决方案。Oracle操作手册是学习和操作Oracle数据库的重要参考资料,它涵盖了从安装配置到日常...

    Oracle 命令手册.chm

    了解如何声明变量、控制流程、处理异常以及使用游标等,是深入掌握Oracle的关键。 3. **DML事务管理**:包括BEGIN、COMMIT、ROLLBACK等命令,用于确保数据的一致性和完整性。 4. **数据库对象管理**:如创建索引...

    oracle存储过程超详细使用手册

    ### Oracle存储过程超详细使用手册 #### 一、创建存储过程 在Oracle中,存储过程是一种数据库对象,它由一组SQL语句和可选的PL/SQL代码组成,用于完成特定的功能。创建存储过程的基本语法如下: ```sql CREATE OR...

    Oracle资料参考手册

    手册会详细介绍PL/SQL的语法结构、变量声明、异常处理、块结构等关键概念。 4. **数据库管理**:这部分可能涵盖数据库的创建、备份恢复、性能优化、安全性设置等内容。例如,如何创建表空间以管理数据库存储,如何...

    Oracle官方文档CHM合集-SQL参考手册

    手册会讲解PL/SQL的基本结构、变量声明、控制流语句以及异常处理。 10. 性能优化:手册还将涵盖查询优化器的工作原理,如何使用EXPLAIN PLAN分析查询执行计划,以及索引和统计信息在优化中的作用。 11. 安全性:...

    Oracle&SQL手册

    3. **PL/SQL**:Oracle 的过程化语言,扩展了 SQL,支持复杂的业务逻辑和流程控制,包括变量声明、条件判断、循环、异常处理等。 4. **数据库连接**:通过 TNS(Transparent Network Substrate)命名方式或 JDBC ...

    Oracle开发必备手册

    通过这本手册,读者不仅可以掌握Oracle SQL的基础,还能了解到PL/SQL编程,包括变量声明、流程控制(IF-THEN, CASE, FOR循环)、游标、异常处理等,这将有助于编写存储过程和函数,实现更复杂的数据库逻辑。...

    Oracle开发手册

    - **PL/SQL 基础:**了解PL/SQL 的基本结构,包括变量声明、控制流语句等。 - **存储过程与函数:**学习如何编写存储过程和函数,这是实现业务逻辑的重要手段。 - **触发器:**触发器是在特定事件发生时自动执行的一...

    oracle数据库参考手册

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,由甲骨文公司开发和维护。"Oracle数据库参考手册"是学习和操作Oracle数据库的重要资源,它提供了详尽的函数、过程、语法和配置选项的说明,帮助用户理解...

    Oracle的PL-SQL编程手册

    通过深入学习Oracle的PL-SQL编程手册,开发人员和DBA可以掌握这些核心概念,编写出更高效、可靠的Oracle数据库应用。这本书会详细讲解每个知识点,包括实例演示和最佳实践,是学习和提升PL-SQL技能的宝贵资源。

    ORACLE操作手册

    在手册中,介绍了如何编写PL/SQL基本程序,包括SQL语言的基础概念,如SELECT、INSERT、UPDATE和DELETE等语句,以及PL/SQL的变量声明、流程控制、异常处理等内容。 三、解决RDBMS问题 对于数据库的性能优化,手册...

    oracle快速学习手册

    在Oracle快速学习手册中,主要涵盖了SQL和PL/SQL的基础语法,包括创建和操作表、序列、视图,以及数据的插入、更新和删除等基本操作。 一、CREATE TABLE语句 CREATE TABLE语句用于在数据库中创建新的表,这是数据库...

    oracle开发使用手册3

    《Oracle开发使用手册3》是针对Oracle数据库系统的一份详细指南,主要面向开发者和数据库管理员。这份手册包含多个章节,涵盖了Oracle开发与管理的核心概念和技术。以下是对这些PDF文件内容的概览: 1. **039.PDF -...

    oracle开发使用手册

    Oracle开发使用手册是一本深入探讨Oracle数据库系统的专业指南,它主要面向的是开发人员和系统管理员,旨在帮助他们更好地理解和操作Oracle数据库。Oracle是全球最受欢迎的商业数据库管理系统之一,广泛应用于企业级...

    Oracle 10g入门手册(英文版)

    手册会讲解PL/SQL的基本语法、变量声明、流程控制结构、异常处理等内容,帮助读者实现更复杂的数据库操作。 五、数据库管理 这部分内容将涵盖数据库的备份与恢复策略,包括使用Export和Import工具进行逻辑备份,...

    Oracle数据库速查知识文档,oracle使用手册

    本速查知识文档旨在提供一个全面且实用的Oracle使用指南,涵盖从基础到高级的各种概念和技术。 首先,让我们关注“Oracle rownum”这一特性。在Oracle SQL中,`rownum`是一个伪列,它为每一行赋予一个唯一的整数,...

    Oracle PL-SQL编程手册 .doc

    Oracle PL/SQL编程手册是数据库管理员和开发人员的重要...以上只是Oracle PL/SQL编程中的一部分核心概念,实际手册会详细介绍每个主题的语法、使用示例和最佳实践,帮助开发者更好地理解和利用Oracle数据库进行编程。

    Oracle官方文档CHM合集-SQL参考手册(中英)

    它允许声明变量,执行控制流程,处理异常,并能与数据库对象交互。 8. 安全性与权限:Oracle提供了强大的角色和权限管理机制,通过`GRANT`和`REVOKE`语句控制用户对数据库对象的访问权限。理解这些机制对于确保数据...

Global site tag (gtag.js) - Google Analytics