`
zhuxinzx
  • 浏览: 289542 次
  • 性别: 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。
  
分享到:
评论

相关推荐

    plsql developer 中文使用手册 最新 7.0 plsql developer 使用手册(中文)

    4.6 包声明和 JAVA 会话声明.........................................23 4.7 查看结果集....................................................24 4.8 查看 DBMS_OUTPUT............................................

    PLSQL Developer238页中文版使用手册

    4.6包声明和JAVA会话声明 4.7查看结果 4.8查看DBMS_OUTPUT 4.9查看HTP输出 4.10调试 4.11跟踪运行 4.12回归测试 5优化 5.1使用解释计划窗口 5.2自动统计 5.3PL/SQL概览图 5.4SQL跟踪 6专用SQL 6.1使用...

    Oracle9i的init.ora参数中文说明

    说明: 指定与 TO_CHAR 和 TO_DATE 函数一同使用的默认日期格式。该参数的默认值由 NLS_TERRITORY 确定。该参数的值可以是包含在双引号内的任何有效的日期格式掩码。例如: ''MMM/DD/YYYY''。 值范围: 任何有效的日期...

    Spring-Reference_zh_CN(Spring中文参考手册)

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring JDBC包结构...

    PL/SQL 基础.doc

    PL/SQL 基础,一个不错的 PL/SQL 参考手册。内容预览: ---- 第一章 PL/SQL 简介 ---- 1. Oracle应用编辑方法概览 1) Pro*C/C++/... : C语言和数据库打交道的方法,比OCI更常用; 2) ODBC 3) OCI: C语言和...

    spring security 参考手册中文版

    26.2.2 Web安全表达式中的路径变量 204 26.3方法安全表达式 204 26.3.1 @Pre和@Post注释 205 访问控制使用@PreAuthorize和@PostAuthorize 205 使用@PreFilter和@PostFilter进行过滤 207 26.3.2内置表达式 207 ...

    C程序设计语言(第2版·新版中文)

    原著第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。人们熟知的“hello,world”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设计语言入门的第一课。 内容提要 -------------------...

    Spring 2.0 开发参考手册

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring ...

    PLSQL_Developer7.0中文帮助手册

    12.1 创建一个新工程........97 12.2 保存工程98 12.3 添加文件到工程........98 12.4 添加数据库对象到工程..98 PL/SQL Developer 7.0 用户指南 5 12.5 用工程项目工作........99 12.6 编译工程99 13. 任务项目.......

    PLSQL中文手册(相当全面)

    4.6 包声明和 JAVA 会话声明.........................................23 4.7 查看结果集....................................................24 4.8 查看 DBMS_OUTPUT............................................

    spring chm文档

    Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack Thierry Templier Erwin ...

    pl/sql操作手册

    pl/sql 7.1操作手册,中文,总共239页 目录 目录..............................................................................................................................................................

    PHP基础教程 是一个比较有价值的PHP新手教程!

    在PHP手册中提到:"PHP不支持(也不需要)直接在声明变量时定义变量类型;变量类型将根据其被应用的情况决定。如果你为变量var赋值为一个字符串,那么它变成了一个字符串。如果你又为它赋了整数值,那么它就变成了...

    asp.net知识库

    .net中的正则表达式使用高级技巧 (一) C#静态成员和方法的学习小结 C#中结构与类的区别 C#中 const 和 readonly 的区别 利用自定义属性,定义枚举值的详细文本 Web标准和ASP.NET - 第一部分 XHTML介绍 在ASP.NET...

    PLSQL Developer用户指南

    PL/SQL Developer 是一个为 Oracle 数据库开发存储程序单元的集成开发环境(IDE),使用 PL/SQL Developer 你能方便地创建你的客户/服务器应用程序的服务器部分 ,绝对实用 目录.3 1. 介绍.....9 2. 安装...13 2.1 ...

    plsql中文使用说明

    4.6 包声明和 JAVA 会话声明.........................................23 4.7 查看结果集....................................................24 4.8 查看 DBMS_OUTPUT............................................

    plsql developer 7.0 最新中文手册(下载前请务必看说明)

    4.6 包声明和 JAVA 会话声明.........................................23 4.7 查看结果集....................................................24 4.8 查看 DBMS_OUTPUT............................................

    PLSQL_Developer_9.0用户指南

    3. 登录到一个ORACLE数据库 .........................................................................................................15 4. 编写程序 .........................................................

    PL/SQL Developer 7.0用户指南

    4.6 包声明和 JAVA 会话声明.........................................23 4.7 查看结果集....................................................24 4.8 查看 DBMS_OUTPUT............................................

Global site tag (gtag.js) - Google Analytics