电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Oracle创建序列的方法及技巧VIP免费

Oracle创建序列的方法及技巧_第1页
1/6
Oracle创建序列的方法及技巧_第2页
2/6
Oracle创建序列的方法及技巧_第3页
3/6
Oracle 创建序列的方法及技巧 日期:2008-06-23] 来源:互联网整理 前面说过,关系数据库的一个最重要的方面是,每个表必须有一个主键。许多情况下,在数据库中创建一个作为标识符的新键列是最容易的。例如, Agents表有一个作为主键的 AgentID列。但是,总是存在一个问题:从何处取得保证唯一的新编号?在一个较大的组织机构中,可能有一个人力资源部,可以建立某种处理,以便新雇员总能分配一个唯一的编号,并且在雇用某人时该数据被录入到表中。但必须有人密切关注所分配的所有编号,并且还需要检验它们唯一性的一个表单。 相对于依赖基于人工的处理,让数据库生成用作键值的编号更有意义。oracle为此目的使用序列。序列(sequence)是 Oracle在需要时用来产生新值的一个编号集合。序列的两个关键点是:必须预先建立;需要代码请求生成新值。序列的编号不是在录入新行时自动生成的。你必须编写代码来生成值,并把它们存储在合适的列中。注意,可以对要自动生成编号的表的 Insert事件编写一个数据库触发器。但是,Oracle中最常见的方法是在需要时生成关键值,通常是在表单上生成。 一般,在定义原始表时定义一个序列。但是,因为序列与表之间不存在直接的关系,所以可以在创建编号前建立序列。序列只需创建一次,在整个 SQL*Plus中都可以使用。 (1) 因为表中已经存在数据,找出其最大值: SELECT Max(AgentID) FROM Agents; (2) 最大值应该为 15521,你可能想从一个比它大的值开始。用 15522就可以了,但为保险起见,从 20000开始: CREATE SEQUENCE seq_Agents INCREMENT BY 1 START WITH 20000; (3) 也是用 SQL检索新值,它自动用序列定义中指定的值给计数器增量。试一下,以保证理解相应的命令: SELECT seq_Agents.NEXTVAL FROM dual; 此命令使用了人为的 dual表,因为 PL/SQL总是要求使用 FROM子句。它应该返回值20000。如果重复此命令,它将返回20001、20002,如此等等。注意,序列简单地返回数字,不对这些数字做任何事情。由你决定使用这些数字作为新主键值。实际上,你可以将这些数字用于任何用途,但应该将一个序列仅用于一个用途。而且,还应该仔细地命名序列,以便别人能够理解其用途。 在创建序列之后,需要给表单添加代码,以便在添加一个新代理时自动生成一个新值。启动 Forms Builder并打开 Agents表单。应该打开第 8章中创建的表单版本,复制第 8章中建立的 Agents.fmb和 Ag...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Oracle创建序列的方法及技巧

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部