第一種方法:企業(yè)管理器-〉設(shè)計表-〉右鍵第4列-〉插入列
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:國際域名空間、雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、商都網(wǎng)站維護、網(wǎng)站推廣。
第二種方法:SQL語句,沒有直接在指定位置插入的語句,不過我考慮的語句很簡單
1.新建一張表,原來是abcde,現(xiàn)在新建為abcXde,X是插入的列
2.把原來abcde中的數(shù)據(jù)全部插入新表中
3.刪除舊表abcde
oracle中沒有自動增長,只有序列號\x0d\x0a添加一條記錄和sqlserver一樣\x0d\x0a語法:insert into table(列,列,列) values(value,value,value); \x0d\x0a\x0d\x0a如果有個自動增長列\(zhòng)x0d\x0a可以用這種方法,首先創(chuàng)建一個序列號SEQ_Test\x0d\x0a然后insert into table(ID,列,列) values(SEQ_Test.nextval,value,value);
alter table table_name add (e number(4));
oracle中不能在某列前后固定插入,只會在最后列中追加
插入新列不影響前面的數(shù)據(jù)
其實列的順序是無所謂的,你查找的時候select a,b,e,c,d from A 不就可以了么
如果你非要這樣那只能復(fù)制新的A表到B表,然后刪除掉A表,并重命名B表,如:
create table B as select a,b,e,c,d from A
drop table A
alter table B rename A
有固定的語法格式可以添加。
語法:alter table 表名 add 列名 列格式 [null/not null]。
注意:添加非空列時,要保證表中沒有數(shù)據(jù)。
應(yīng)該只有觸發(fā)器的辦法:
比如表名:tab,
主鍵
為:id
1.
增加一個
序列號
:
create
sequence
seq_tab
2.
增加一個觸發(fā)器,如果是insert,則取序列號值,賦予主鍵列
CREATE
OR
REPLACE
TRIGGER
TRI_tab
BEFORE
INSERT
ON
tab
FOR
EACH
ROW
DECLARE
--
LOCAL
VARIABLES
HERE
BEGIN
IF
:NEW.id
IS
NULL
THEN
SELECT
SEQ_tab.NEXTVAL
INTO
:NEW.id
FROM
DUAL;
END
IF;
END
TRI_tab;