oracle 下建立表

來源:互聯網
上載者:User

建立一個新表:

SQL> create table invoice

2 (

3 invoice_id number,

4 vendor_id number,

5 invoice_number varchar2(50),

6 invoice_date date default sysdate,

7 invoice_total number(9,2),

8 payment_total number(9,2) default 0,

9 constraint invoice_pk primary key (invoice_id,vendor_id),

10 constraint invoive_v_un unique (vendor_id),

11 constraint in_fk foreign key (vendor_id) references vendor(vendor_id) ondelete cascade

12 )

關於約束可以在列級建立,如:invoice_id number primary key ,

也可以和上程式一樣在表級用constraint 來添加,建議使用表級添加,因為如果沒有為約束指定名稱的話,系統會自動產生一個名稱,到時候如果你想修改列上的約束還要到處找這個約束叫什麼名稱,會很麻煩。

2:建立表副本:

create table emp_copy as select * from emp ;

create table emp_copyl as select * from emp where 1=2;

這兩個語句都可以建立一個和emp一樣的表,不同的是,第一個語句建立的emp_copy表包含了emp表的所有架構和資料記錄,我看的書上說也複製了原表的約束,但是我實驗了一下,發現約束並沒有複製進來,可以插入主鍵重複的值;

第二個emp_copyl表只是架構和emp表相同,並不包含emp中的資料;



本文出自 “落幕青” 部落格,請務必保留此出處http://lmq4930.blog.51cto.com/3208925/1297440

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.