截取: 不能回滚; 删除表中所有数据; 释放存储空间; 语法: TRUNCATE TABLE 表名称; DELETE 也可以删除所有行,但: 可以回滚。 不释放存储空间。 给表加注释:COMMENT comment on table table_name is ''注释内容''; 约束条件: 如果经常用到约束条件的话,最好自己命名。 当
创建和管理表 对象: 表(TABLE)基本的存储单位,由行和列组成。 表名和列名(使用规则): 必须是字母开头; 必须是130的字符长度; 只能包括AZ,az,09,_,$,#; 在同一个用户下不能头重名的对象; 不能是ORACLE的保留字; 创建需求 必须有: CREATE TABLE 权限; 足够的存储空间;
查看当前用户 SHOW USER 默认的日期格式 DDMONRR 日月年 日期可以进行比较; 字符可以进行比较(以字母的ASCLL码比较); IN(set)或NOT IN 匹配任何列表中的值; LIKE 模糊匹配字符串值; IS NULL 是否空值; IS NOT NULL 是否不为空; BETWEEN 可以做数字、日期和字符的比较。 通
number数字类型函数 ABS(x) 函数,此函数用来返回一个数的绝对值。 ACOS(x)函数,返回X的反余弦值。X范围从1到1,输入值从0到派,以弧度为单位。 ASIN(x)函数,返回X的反正弦值。X范围从1到1,输入值从PI/2到PI/2,以弧度为单位。 ATAN(x)函数,返回X的反正切值。输入值从PI/2到PI/2,以弧度为单位。 BITAND
子查询: 语法: select col from table where expr operator (select col from table); 子查询在主查询执行前执行一次。 子查询的结果被用于主查询。 使用规则: 在WHERE 和 HAVING 子句中都可以使用子查询。 *、子查询必须用括号扩起。 *、子查询应该在比较条件的右边。 *、在子查询中的O
序列: 自动产生的唯一值; 一个共享的对象; 典型的用法是作为主键的值; insert into 给主键提供值。 替代了应用的代码; 通过将序列CACHE(预先生成一部分序列号,放入到内存中)到内存中,可以加速对序列的访问。 CREATE SEQUENCE sequence_name [increment by n]//步长 [start with n]//起
基本概念: 数据库对象: 表 约束条件:保证数据完整性。 视图:虚表,命名的查询语句。 索引:加速查询(加快查询的速度)。 序列:一串连续递增或递减的数字,步长相同,(代理键)。 同义词:一个对象的另外一个叫法(对象的别名)。 存储过程:用于操作 函数:用作复杂运算的。用于
定义空(NULL)值 空值出现在表达式中会导致整个表达式的值为空。 NVL(字段名,将要赋予的值)函数 作用:将空值转换成其他有ASCLL码的值。 annual_salary年薪 别名 可以加中文的字段别名。 如果想强制地改变列名的大小写,可以在别名的定义时加上双引号,列名有空格时也要在列名上加双引号。 例
日期和日期时间算术 运算返回类型 结果 d1d2NUMBER 返回D1和D2之间相差的天数。该值是一个数值,其小数部分代表一天的几分之几。 dt1dt2INTERVAL 返回DT1和DT2之间的时间间隔。 i1i2INTERVAL 返回i1和i2之间的差距。 d1+d2N/A 非法——仅能进行两个日期之间的相减。 dt1+dt2N/A 非法—
数据操作语句: 插入:INSERT INTO TABLE(字段1,字段2....)VALUES(值1,值2....) 一次插入只插入一行。字符和日期值需要单引号扩起。 插入空值: 方法一:隐示插入,插入时省略列名系统就会默认省略的列为NULL。 方法二:显示插入,在插入时指定列的值为空。 注:(1)值的个数不能少于列名的个数
to_label(x[,y])函数,按照格式Y将字符串X转换成MLSLABEL类型的一个值,若默认格式为Y,则按照默认格式进行转换。 dump(w,[x[,y[,z]]])函数,用来返回字符串EXPR的数据类型,内部的存储位置和字符长度。 dump(expr,return_datatype,start_position,length). return_datatype是指定返回返回位置用什么方式表示,可以
使用游标 这里要做一个声明,我们所说的游标通常是指显式游标,因此从现在起没有特别指明的情况,我们所说的游标都是指显式游标。要在程序中使用游标,必须首先声明游标。 声明游标 语法:CURSOR cursor_name IS select_statement; 在PL/SQL中游标名是一个未声明变量,不能给游标名赋值或用于表达式中。 例
游标FOR循环 在大多数时候我们在设计程序的时候都遵循下面的步骤: 1、打开游标 2、开始循环 3、从游标中取值 4、检查那一行被返回 5、处理 6、关闭循环 7、关闭游标 可以简单的把这一类代码称为游标用于循环。但还有一种循环与这种类型不相同,这就是FOR循环,用于FOR循环的游标按照正常的声明
过程和函数 过程和函数都以编译后的形式存放在数据库中,函数可以没有参数也可以有多个参数并有一个返回值。过程有零个或多个参数,没有返回值。函数和过程都可以通过参数列表接收或返回零个或多个值,函数和过程的主要区别不在于返回值,而在于他们的调用方式。过程是作为一个独立执行语句调用的: pay_involume(in
事务控制 事务控制包括协调对相同数据的多个同步的访问。当一个用户改变了另一个用户正在使用的数据时,oracle使用事务控制谁可以操作数据。 事务 事务表示工作的一个基本单元,是一系列作为一个单元被成功或不成功操作的SQL语句。在SQL和PL/SQL中有很多语句让程序员控制事务。程序员可以: 1、显式开始
建立和修改用户 CREATE USER 语句将建立一个用户。当一个用户连接到ORACLE数据库时,它必须被验证。ORACLE中验证有三种类型: Database external Global 缺省是数据库验证,当用户连接到数据库时,oracle将检测用户是否是数据库的合法用户,并且要提供正确的password.external验证,oracle将只检测用
SQL是用于访问ORACLE数据库的语言,PL/SQL扩展和加强了SQL的功能,它同时引入了更强的程序逻辑。 PL/SQL支持DML命令和SQL的事务控制语句。DDL在PL/SQL中不被支持,这就意味作在PL/SQL程序块中不能创建表或其他任何对象。较好的PL/SQL程序设计是在PL/SQL块中使用象DBMS_SQL这样的内建包或执行EXECUTE IMMEDIATE命令建立动态S
SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML, 数据定义语言DDL,数据控制语言DCL。其中用于定义数据的结构,比如 创建、修改或者删除数据库;DCL用于定义数据库用户的权限;在这篇文章中我将详细讲述这两种语言在Oracle中的使用方法。 DML语言 DML是SQL的一个子集,主要用于修改数据,下表列出了ORACLE
PL/SQL处理异常不同于其他程序语言的错误管理方法,PL/SQL的异常处理机制与ADA很相似,有一个处理错误的全包含方法。当发生错误时,程序无条件转到异常处理部分,这就要求代码要非常干净并把错误处理部分和程序的其它部分分开。oracle允许声明其他异常条件类型以扩展错误/异常处理。这种扩展使PL/SQL的异常处理非常灵活。
一、PL/SQL出现的目的 结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型数据库一种通用语言,它属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方法和途径,而是简单的调用相应语句来直接取得结果即可。显然,这种不关注任何实现细节的语言对于开发者来说有着极大的便利。 然而