文章分类 - sql/plsql
摘要:1、视图的两大作用: 限制数据访问 简化命令文本 视图是基于表或另一个视图的逻辑表,一个视图并不包含它自己的数据,它象一个窗口,通过该窗口可以查看或改变表中的数据 简单视图:数据仅来自一个表,不包含函数或数据分组,能通过视图执行 DML 操作。复杂视图:数据来自多个表,包含函数或数据分组,不总是允许
阅读全文
摘要:oracle用约束 (constraints) 来防止无效数据、错误数据输入到表中。你可以使用约束做下面的事:在插入、更新行或者从表中删除行的时候强制表中的数据遵循规则。对于成功的操作,约束必须被满足。如果表之间有依赖关系,防止表的删除 所有的约束存储在数据字典中。如果给约束一个有意义的名字,约束易
阅读全文
摘要:1.1、查看表定义 select dbms_metadata.get_ddl('TABLE','TABLE_NAME','TABLE_OWNER') from dual; 1.2、取得一个表的所有字段名并用逗号分割 select max(substr(SYS_CONNECT_BY_PATH(COLU
阅读全文
摘要:1、表能够有多达1000 个列,并且必须符合标准的数据库对象命名约定。 2、Oracle 设计了大约 6 种数据的存储格式,详见下表: 3、表和列的命名规则 必须以字母开头 长度不能超过 30 个字符(最多 30 个字符) 不能使用 oracle 的保留字 只能使用如下字符 A-Z,a-z,0-9,
阅读全文
摘要:1、简介 当表中的数据量不断增大时,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。当对表进行分区后,在逻辑上,表仍然是一张完整的表,只是将表中的数据在物理上可能存放到多个表空间或物理文件上。当查询数据时,不至于每次都扫描整张表。Oracle 可以将大表或索引分成若干个更
阅读全文
摘要:Oracle 的自治事务(Autonomous Transaction)是将一个主事务分割成几个子事务,在执行完子事务以后再继续执行主事务。这里的关键是,子事务是独立于主事务的,子事务中的 ROLLBACK 和 COMMIT 操作只 会影响子事务中的 DML 操作;同样,主事务中的 ROLLBACK
阅读全文
摘要:1、存储过程 (1)存储过程和函数的区别是什么? 存储过程和函数都是存储在数据库中的程序,可由用户直接或间接调用,它们都可以有输出参数,都是由一 系列的 SQL 语句组成。 具体而言,存储过程和函数的不同点如下所示: (1)标识符不同。函数的标识符为 FUNCTION,存储过程为 PROCEDURE
阅读全文
摘要:1、简介 PLSQL是oracle对sql扩展的过程化语言 pl/sql联合了sql的易用性、灵活性和程序化的结构化编程语言的功能 有些复杂的业务流程要求相应的程序来描述,sql不能实现 oracle是c/s架构的数据库,平常的sql,需要向服务器发出请求,服务器才进行编译执行,而用pl/sql写成
阅读全文
摘要:SQL> show parameter open_links NAME TYPE VALUE open_links integer 4 open_links_per_instance integer 4 参数的解释: ***open_links :每个session最多允许的dblink数量; **
阅读全文
摘要:为了查阅另一个用户所拥有的表,你需要将创建该表的用户名加句点作为前缀加在表名前面。创建一个同义词可以除去对象名必须带的方案限制,并提供给你一个可替换表名、视图名、序列名和过程名或其它对象名。该方法对具有特别长的对象的名字很有用。语法: CREATE or replace PUBLIC SYNONYM
阅读全文
摘要:索引由 Oracle 服务器自动使用和维护,一旦一个索引被创建,它就不再需要用户直接管理。rowid是一个十六进制的串,表示包含块定义的行地址,行的位置在块中,并且有数据库文件标识符,访问任何指定行的最快的方法是引用它的 rowid. 索引里存储的内容: ROWID 、索引列(键值)。 创建索引可以
阅读全文
摘要:序列是用户创建的数据库对象,序列可以被多个用户共享以产生唯一的整数。序列的一个典型的用途是创建一个主键的值,它对于每一行必须是唯一的。序列由一个 Oracle 内部程序产生并增加或减少。序列是一个节省时间的对象,因为它可以减少应用程序中产生序列程序的代码量。序列号独立于表被存储和产生,因此,相同的序
阅读全文
摘要:1、在数据库中,常常会有一些比较复杂的定时批量运行脚本的任务,这些任务的时间通常是非常长的,而且 基本上每天都是定时执行脚本,比如晚上 22 点等,这个时候就要用到数据库的 JOB 了。 Oracle 的 JOB 分为两类,DBMS_JOB 和 DBMS_SCHEDULER,二者都可以完成定时任务。
阅读全文