如题:
1. oralce中的大事务概念是不是就是指在一个会话中包含多次或多种操作的事务?
2. varchar和varchar2的区别?  后者是前者的升级吗?
   为什么通常只用varchar2而不用varchar?

解决方案 »

  1.   

    varchar2是oracle提供的独特的数据类型 
    oracle保证在任何版本中该数据类型向上和向下兼容 
    但不保证varchar,这是因为varchar是标准sql提供的数据类型 
    有可能随着sql标准的变化而改变
      

  2.   

    1、大事物,我想很占资源是肯定的了。肯定包含你说的吧。
    2、varchar是定长;varchar2是变长,省空间。
      

  3.   

    oracle文档里面提到目前varchar是varchar2的一个别名而已,但以后可能会那varchar作为它用,所以建议使用varchar2SQL>   create   table   test_char(col1   char(10),col2   varchar(10),col3   varchar2(10));   
        
      表已创建。   
        
      SQL>   insert   into   test_char   values('aa','aa','aa');   
        
      已创建   1   行。   
        
      SQL>   select   length(col1),length(col2),length(col3)   from   test_char;   
        
      LENGTH(COL1)   LENGTH(COL2)   LENGTH(COL3)   
      ------------   ------------   ------------   
                          10                         2                         2   
      这样应该清楚了吧,char(包括nchar)是定长的,varchar,varchar2都是可变长度的
      

  4.   

    varchar2与varchar目前差不多,有时候varchar效率高,但是oracle不保证以后的兼容性,所以有等于没有,因为是标准SQL定义的,所以oracle保留了而已。
    要用的话有一定的危险性。万一以后oracle不兼容了就惨了。值得注意的字符类型应该是char和varchar2,char是定长,不足尾部补空格,varchar2是变长,那么什么时候要使用char呢?答案是任何时候都不要使用char,否则会给你带来n多的麻烦。
    不要和我说char比varchar2效率高,请拿出证据来。Oracle 大师tom kyte说,永远不要使用char,就算一个定长的,是长度为一的,我都宁愿用varchar2(1)而不用char(1),至于效率,更是无稽之谈,在oracle中char只补过是伪装的varchar2,而不是什么空间换时间。
    char类型带来的变成困难与错误不计其数,而且在字段和索引存储中总是占用最大空间,知道了这些,以后你还会用char吗??
    用char还有个巨大的缺点就是,如果以后改变知道的长度,你的很多程序都要重新写,而用varchar2因为变长的概念,就不需要了。char就是独特的尾部补空格与比较规则,会让你不慎其烦的
      

  5.   

    oralce中的大事务概念谁帮忙解释下!