网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle9i中数据仓库的增强及其价.
.使用新的list分割方法提高灵活性.
.oracle817视图中object_type的&#.
.研究人员称Oracle仍有问题.
.Oracle中logmnr包的使用详解.
.快速建立数据字典我如此设计小型.
.Oracle复合数据类型(3).
.ORACLE的外部调用的实现.
.让linux下的sqlplus具有回朔功能.
.Oracle捕蝉SAP在后 商业软件领域.
.Oracle 9i新特性研究系列之五 --.
.Oracle PL/SQL入门之案例实.
.配置UltraEdit为Oracle PL/SQL代.
.ORACLE SGA 的分配.
.按照顺序或依赖关系重新编译失效.
.RMAN 初学者指南.
.oracle_sid,server_name,网络连接.
.讲解往表中顺序插入N条记录的简易.
.Oracle套件黄金组合 搭建完整SOA.
.Oracle10g数据库的4种存储形式.

9i新特性之——在线表格重定义研究3

发表日期:2008-2-9


具体过程   1、我们创建一个单独的测试用户用来测试整个过程   SQL> create user mytest identified by mytest; User created SQL> grant connect,resource to mytest; Grant sUCceeded   SQL> connect mytest/mytest; Connected to Oracle9i Enterprise Edition Release 9.2.0.4.0 Connected as mytest   2、首先,我们创建一个原表,假定是我们需要在线重新定义的表,由于工作需要,我们需要把该表(不是分区表)重新定义为一个分区表,而且不能影响应用程序的运行。   SQL> create table test(a int,b int) tablespace users; Table created  
模拟一个原表   declare i integer; begin for i in 1..100 loop insert into test values(i,100-i); end loop; commit; end;   插入100条模拟数据   create or replace trigger tr_test   before insert or update or delete on test    for each row declare    PRAGMA AUTONOMOUS_TRANSACTION;    begin      update audit_test set c=c+1;        commit;    end;    在上面创建一个触发器,模拟原表可能会有的触发器,这个触发器的作用就是假如有任何DML操作,将在audit_test中增加1。
  Audit_test现在的数据是: SQL> select c from audit_test;                        100                        检查触发器是否工作正常 SQL> insert into test values(101,0); 1 row inserted SQL> commit;   SQL> select c from audit_test;                        101 可以看到,触发器工作正常。   3、检查该表是否能重定义   SQL> exec dbms_redefinition.can_redef_table('MYTEST', 'TEST');   begin dbms_redefinition.can_redef_table('MYTEST', 'TEST'); end;   ORA-12089: cannot online redefine table "MYTEST"."TEST" with no primary key
ORA-06512: at "SYS.DBMS_REDEFINITION", line 8 ORA-06512: at "SYS.DBMS_REDEFINITION", line 247 ORA-06512: at line 1   可以看到,假如重新定义,需要主键,所以我们增加该表的主键   我们定义主键   SQL> alter table test add constraint pk_test_id primary key(a); Table altered   SQL> exec dbms_redefinition.can_redef_table('MYTEST', 'TEST'); PL/SQL procedure successfully completed   现在发现,我们可以定义该表了
上一篇:用Control file恢复DB运行 人气:703
下一篇:9i新特性之——在线表格重定义研究4 人气:715
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐