Oracle 經常使用的改動語句

來源:互聯網
上載者:User

標籤:

一、表Table

測試表:MY_TEST_TABLE

-- Create tablecreate table MY_TEST_TABLE(  A VARCHAR2(30),  B NUMBER(10) default 1,  C DATE)tablespace BOSSWG_CFG  pctfree 10  initrans 1  maxtrans 255  storage  (    initial 64K    minextents 1    maxextents unlimited  );-- Add comments to the table comment on table MY_TEST_TABLE  is 'test';-- Add comments to the columns comment on column MY_TEST_TABLE.A  is 'aaaa';comment on column MY_TEST_TABLE.B  is 'bbbb';comment on column MY_TEST_TABLE.C  is 'cccc';


0.添加欄位

alter table MY_TEST_TABLE add D VARCHAR2(50);
-- Add comments to the columns 
comment on column MY_TEST_TABLE.D
  is ‘dddddd‘;

1. 改動表欄位名

alter table MY_TEST_TABLE rename column A to D;  //將A欄位名改成D


2. 改動表欄位類型

alter table MY_TEST_TABLE modify B varchar2(10);  //將B欄位的number(10)類型改動為varchar2(10)


3. 改動表欄位預設值

alter table MY_TEST_TABLE modify B default 2;  //將B欄位的預設值1改成2


4. 改動表欄位的非空屬性

alter table MY_TEST_TABLE modify B not null;  // 將B欄位改成非空


5. 改動表欄位的備忘

comment on column MY_TEST_TABLE.B   // 改動B欄位的備忘值
  is ‘bbbb2‘;


6. 主鍵操作

alter table MY_TEST_TABLE
  add constraint PK_MY_TEST_TABLE primary key (A);  //加入主鍵


alter table MY_TEST_TABLE
  drop constraint PK_MY_TEST_TABLE cascade;  //刪除主鍵

//假設要改動主鍵的話。即必須先刪除主鍵,再加入主鍵。


7.check約束操作

alter table MY_TEST_TABLE                
  add constraint CKC_MY_TEST_TABLE_B           //加入約束
  check (B in(1,2,3));

alter table MY_TEST_TABLE
  drop constraint CKC_MY_TEST_TABLE_B;     //刪除約束

//假設要改動約束。則必須先刪除約束,再加入約束。


8. 外鍵操作

alter table MY_TEST_TABLE
  add constraint FK_MY_TEST_DTABLE_A foreign key (A)   //加入外鍵
  references MY_TEST_TABLE2 (A) on delete cascade;


alter table MY_TEST_TABLE
  drop constraint FK_MY_TEST_DTABLE_A;           //刪除外鍵


//假設要改動外鍵。必須先刪除外鍵,再加入外鍵


二、序列SEQ

測試序列:MY_TEST_SEQ

create sequence MY_TEST_SEQminvalue 1maxvalue 9999999999start with 1increment by 1cache 20;


1. 改動minvalue與maxvalue值:

alter sequence MY_TEST_SEQ 
minvalue 20
maxvalue 99999999999;


2. 改動nextvalue值:

alter sequence MY_TEST_SEQ increment by 8 nocache;       //由原來nextvalue值為2。改動為nextvalue值為10
select MY_TEST_SEQ.nextval from dual;
alter sequence MY_TEST_SEQ increment by 1 cache 20;    //這句必須有。不然會重設cache和增長率


alter sequence MY_TEST_SEQ increment by -8 nocache;    //由原來nextvalue值為10,改動為nextvalue值為2
select MY_TEST_SEQ.nextval from dual;
alter sequence MY_TEST_SEQ increment by 1 cache 20;    //這句必須有。不然會重設cache和增長率




Oracle 經常使用的改動語句

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.