日期:2014-05-17  浏览次数:20987 次

为什么 alter 可以添加3个主键的呢?

Oracle   10g   以下两句SQL   statement   有什么不同呢?  
alter   是添加3个主键的呢?   还是   alter   把3个   column   作为一个   primary   key   呢?  

SQL>   alter   table   plsql101_purchase   add   primary   key(
          product_name,  
          salesperson,  
          purchase_date
          );
Table   altered.

SQL>   create   table   test(
              id1   number   primary   key,
              id2   number   primary   key,
              id3   number   primary   key
              );
    id2   number   primary   key,
                          *
ERROR   at   line   3:
ORA-02260:   table   can   have   only   one   primary   key



------解决方案--------------------
前一语句是建一个primiary key,在这一primiary key里使用了三个column组成;

主键是只有一个,但是可以多个字段合成一个主键!