成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

oracle數據庫怎么修改字段

在oracle中,可以利用“ALTER TABLE MODIFY”語句來修改字段,語法為“ALTER TABLE 表名 MODIFY 字段名 需要執行的操作;”;常用操作有:修改列的可見性、更改列的默認值、修改虛擬列的表達式等。

oracle數據庫怎么修改字段

本教程操作環境:Windows7系統、Oracle 11g版、Dell G3電腦。

oracle數據庫怎么修改字段

在oracle中,可以利用“ALTER TABLE MODIFY”語句來修改字段,更改現有字段的定義。

要更改表中列的定義,請按如下所示使用ALTER TABLE MODIFY列語法:

ALTER TABLE 表名  MODIFY 字段名 需要執行的操作;

語句很直接。要修改表的列,需要指定要執行的列名,表名和操作。

Oracle允許執行多種操作,但以下是主要常用的操作:

  • 修改列的可見性

  • 允許或不允許NULL值

  • 縮短或擴大列的大小

  • 更改列的默認值

  • 修改虛擬列的表達式

要修改多個列,請使用以下語法:

ALTER TABLE 表名 MODIFY (     字段名1 action,     字段名2 action,     ... );

Oracle ALTER TABLE MODIFY列示例

首先,為演示創建一個名為accounts的新表:

-- 12c語法 CREATE TABLE accounts (     account_id NUMBER GENERATED BY DEFAULT AS IDENTITY,     first_name VARCHAR2(25) NOT NULL,     last_name VARCHAR2(25) NOT NULL,     email VARCHAR2(100),     phone VARCHAR2(12) ,     full_name VARCHAR2(51) GENERATED ALWAYS AS(              first_name || ' ' || last_name     ),     PRIMARY KEY(account_id) );

其次,向accounts表中插入一些行:

INSERT INTO accounts(first_name,last_name,phone) VALUES('Trinity',        'Knox',        '410-555-0197');   INSERT INTO accounts(first_name,last_name,phone) VALUES('Mellissa',        'Porter',        '410-555-0198');   INSERT INTO accounts(first_name,last_name,phone) VALUES('Leeanna',        'Bowman',        '410-555-0199');

第三,通過使用下面的SELECT語句驗證插入操作:

SELECT     * FROM     accounts;

執行上面查詢語句,得到以下結果 –

oracle數據庫怎么修改字段

1. 修改列的可見性

在Oracle 12c中,可以將表列定義為不可見或可見。不可見列不可用于查詢,如:

SELECT     * FROM     table_name;

或者,

DESCRIBE table_name;

都是查到不到不可見列的。

但是,可以通過在查詢中顯式指定不可見列來查詢:

SELECT     invisible_column_1,     invisible_column_2 FROM     table_name;

默認情況下,表列是可見的??梢栽趧摻ū砘蚴褂?code>ALTER TABLE MODIFY列語句時定義不可見列。

例如,以下語句使full_name列不可見:

ALTER TABLE accounts  MODIFY full_name INVISIBLE;

執行再次查詢表中數據,得到以下結果 –

oracle數據庫怎么修改字段

以下語句返回accounts表除了full_name列以外的所有列中返回數據:

SELECT     * FROM     accounts;

這是因為full_name列是不可見的。要將列從不可見變為可見,請使用以下語句:

ALTER TABLE accounts  MODIFY full_name VISIBLE;

2. 允許或不允許null示例

以下語句將email列更改為接受非空(not null)值:

ALTER TABLE accounts  MODIFY email VARCHAR2( 100 ) NOT NULL;

但是,Oracle發出以下錯誤:

SQL Error: ORA-02296: cannot enable (OT.) - null values found

因為當將列從可為null改為not null時,必須確?,F有數據符合新約束(也就是說,如果原來數據中NULL是不行的)。

為了解決這個問題,首先更新email列的值:

UPDATE      accounts SET      email = LOWER(first_name || '.' || last_name || '@oraok.com') ;

請注意,LOWER()函數將字符串轉換為小寫字母。

然后改變email列的約束:

ALTER TABLE accounts  MODIFY email VARCHAR2( 100 ) NOT NULL;

現在,它應該就會按預期那樣工作了。

3. 擴大或縮短列示例的大小

假設要添加國際代碼到phone列上,比如:前綴加上+86。 在修改列的值之前,必須使用以下語句擴大phone列的大?。?/p>

ALTER TABLE accounts  MODIFY phone VARCHAR2( 24 );

現在,我們可以更新電話號碼的數據了:

UPDATE     accounts SET     phone = '+86 ' || phone;

以下語句驗證更新:

SELECT     * FROM     accounts;

執行上面查詢語句結果中,應該可以看到原電話號碼前綴有加上+86的國際區號了。

oracle數據庫怎么修改字段

要縮短列的大小,請確保列中的所有數據都符合新的大小。

例如,嘗試將phone列的大小縮減到12個字符:

ALTER TABLE accounts  MODIFY phone VARCHAR2( 12 );

Oracle數據庫發出以下錯誤:

SQL Error: ORA-01441: cannot decrease column length because some  value is too big

要解決這個問題,首先,應該從電話號碼中刪除國際代碼(即:+86):

UPDATE     accounts SET     phone = REPLACE(         phone,         '+86 ',         ''     );

REPLACE()函數用一個新的子字符串替換一個子字符串。在這種情況下,它將用空字符串替換+86。

然后縮短phone列的大?。?/p>

ALTER TABLE accounts  MODIFY phone VARCHAR2( 12 );

4. 修改虛擬列

假設按以下兩列的格式填寫全名:

last_name, first_name

為此,可以更改虛擬列full_name的表達式,如下所示:

ALTER TABLE accounts  MODIFY full_name VARCHAR2(52)  GENERATED ALWAYS AS (last_name || ', ' || first_name);

以下語句驗證修改:

SELECT     * FROM     accounts;

執行上面查詢語句,可以看到以下結果

oracle數據庫怎么修改字段

5. 修改列的默認值

添加一個名為status的新列,默認值為1accounts表中。參考以下語句 –

ALTER TABLE accounts ADD status NUMBER( 1, 0 ) DEFAULT 1 NOT NULL ;

當執行了該語句,就會將accounts表中的所有現有行的status列中的值設置為1。

要將status列的默認值更改為0,請使用以下語句:

ALTER TABLE accounts  MODIFY status DEFAULT 0;

可以在accounts表中添加一個新行來檢查status列的默認值是0還是1

INSERT INTO accounts ( first_name, last_name, email, phone ) VALUES ( 'Julia',          'Madden',          'julia.madden@oraok.com',          '410-555-0200' );

現在,查詢accounts表中的數據:

SELECT   * FROM   accounts;

執行上面查詢語句,應該看類似下面的結果

oracle數據庫怎么修改字段

正如所看到的那樣,ID4的賬戶的status列的值是0

推薦教程:《Oracle教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
欧美无人区码卡二卡3卡4乱码| 欧美极品在线观看| 免费黄色网站久久精品| 男同桌上课用手指进去了好爽| 欧美国产日韩久久MV| 人善之交Z0OZO0D0G人善| 色窝窝亚洲AV网在线观看| 玩弄人妻少妇500系列视频| 性色a∨精品高清在线观看| 亚洲精品沙发午睡系列 | 激情偷乱人伦小说视频在线| 精品无码一区二区三区| 麻花传媒剧国产MV高清播放| 漂亮人妻洗澡被强人人躁| 书房双乳晃动干柴烈火视频| 亚洲AV日韩AV一区谷露| 一級黃色毛片免費看| а√在线官网在线| 给个网站2021年直接进入的| 国内国精产品一二三区传媒| 久久久久亚洲AV无码专区蜜芽| 欧美人C交ZOOZOOXX| 天天躁日日躁狠狠躁2018| 亚洲精品成人网线在线播放VA| 中文无码乱人伦中文视频播放| 白嫩的18SEX少妇HD| 国产精品视频永久免费播放| 久久精品人人槡人妻人人玩AV| 欧美精品一区二区蜜臀亚洲| 熟妇人妻不卡无码一区| 亚洲人妻免费视频| FREE嫩白18SEⅩ性HD处| 国产精品久久久久免费A∨| 久久精品成人无码观看免费| 趴下老子要从后面CAO你| 午夜A级理论片在线播放717| 一二三四免费观看在线电影二| 被夫の上司に犯中文字幕| 国产真人无遮挡作爱免费视频| 蜜桃AV麻豆AV天美AV| 少妇人妻无码精品视频APP| 亚洲乱码日产精品BD在线| FREE性满足VIDE0SHD| 国产区图片区小说区亚洲区| 免费人成视频网站在线18| 天美传媒国色天香乱码| 一本一道AV无码中文字幕麻豆| 成人毛片100免费观看| 精品国精品国产自在久国产不卡| 欧美激情精品久久久久久黑人| 西方38大但人文艺术| 最新中文字幕AV无码不卡| 国产精品免费_区二区三区观看 | 国产亚洲精品A在线观看| 男生晚上睡不着想看B站| 性欧美XXⅩXXOO护士HD| 91人妻一区二区三区蜜桃精品| 国产美女裸体无遮挡免费视频高潮 | 亚洲午夜无码片在线观看影院百度| 成人AV无码乱码在线观看无码| 精品人妻一区二区三区乱码| 日韩熟妇无码字幕视频毛片| 亚洲熟妇无码久久精品导航| 粗大的内捧猛烈进出少妇| 久久人人爽人人爽人人片AV高清 | 国产精品亚洲А∨无码播放 | 50多岁岳不让我戴套| 国产偷自视频区视频| 欧美性生交XXXXX久久久| 亚洲精品无码久久| 大肉大捧一进一出的视频| 久久久久久亚洲AV无码蜜芽| 无码人妻aⅴ一区二区三区99| 7777奇米四色成人眼影| 精产国品一二三产品区别视频手机 | 末发育娇小性色XXXXX| 亚洲AV色欲色欲WWW| 成人羞羞视频免费网站| 美女MM131爽爽爽作爱视频| 亚洲AV色一区二区三区蜜桃| 成人黄网站片免费视频| 蜜桃av中文字幕| 亚洲AV综合AV一区| 囯产精品一区二区三区线| 男人一生最吉利的网名| 亚洲国产精品一区二区久久| 国产成人剧情AV麻豆映画| 欧美日韩一区二区三区精品视频在线 | 欧美人与物VIDEOS另类XX| 亚洲熟妇真实自拍另类| 国产拍揄自揄免费观看| 日日狠狠久久偷偷四色综合免费 | 日韩VS欧美VS亚洲VS无码| 中文字幕一区二区三区久久网站| 娇喘潮喷抽搐高潮在线观看视频| 少妇做爰XXXⅩ性XXXHD| 把腿张开老子CAO烂你| 美女内射毛片在线看| 亚洲日韩精品无码专区网址| 国产午夜福利精品久久| 天天摸天天添天天爱| 超碰97人人模人人爽人人喊| 内射无码专区久久亚洲| 影音先锋最新AV资源网站| 精品人妻一区二区三区四区在线| 无码国产精品一区二区免费16| 丁香婷婷激情综合俺也去| 欧洲少妇色XXXXX欧美美妇 | 免费一本色道久久一区| 一区二区在线视频| 精品无码人妻一区二区三区| 亚洲AV综合色区无码专区桃色 | 无码无遮挡在线观看免费| 二虎进入温如玉160章小说| 欧美一区二区三放荡人妇| 18禁黄网站男男禁片免费观看| 久久天天躁夜夜躁狠狠躁2014 | А√天堂资源官网在线资源| 欧美成人一区在线| 147VT最大但人文艺术| 猫咪WWW免费人成网站| 伊人久久大香线蕉AV网禁呦| 久久久精品波多野结衣| 亚洲熟妇色XXXXX中国少妇Y| 娇喘潮喷抽搐高潮在线观看视频| 亚洲成AV人片高潮喷水| 黑料吃瓜网998.SU永久有效| 亚洲а∨天堂男人色无码蜜臀69| 国语自产少妇精品视频| 亚洲AV综合伊人AV一区加勒比| 国语自产少妇精品视频蜜桃| 亚洲爆乳少妇无码激情| 狠狠干2015最新版| 亚洲加勒比无码一区二区| 极品性荡少妇一区二区色欲| 亚洲娇小被黑人巨大撑爆| 久久18禁高潮出水呻吟娇喘| 亚洲熟女少妇一区二区| 久久香蕉综合色一综合色88 | 亚洲国产成人无码AV在线播放| 精产国品一二二线三线区别| 亚洲无人区码一二三四区别| 久久久久成人片免费观看R| 一区二区三区中文字幕| 免费看成熟丰满少妇AⅤ无码精品| 91精品人妻欧美一区二区三区| 男人的天堂AV网址| 啊灬啊灬啊灬快灬高潮了| 日韩一区二区三区无码免费视频 | 97SE色综合一区二区二区| 欧美一级 片内射黑人B| 成人免费AⅤ视频一区二区| 舌L子伦熟妇ΑV| 国产日产久久高清欧美一区| 亚洲国产精品久久久久婷蜜芽 | 日本熟妇色XXXXX日本老妇| 厨房掀起裙子从后面进去视频| 特级毛片全部免费播放| 国产重口老太和两个小伙另类| 亚洲韩国精品无码一区二区| 久久亚洲SM情趣捆绑调教| 99精品又大又爽又粗少妇毛片| 日本午夜免费福利视频| 国产精品久久久久精品综合| 亚洲AV自慰白浆喷水网站少妇| 久久强奷乱码老熟女| CHINESE国产HD中国熟女| 色欲狠狠躁天天躁无码中文字幕| 国产免费AV一区二区三区| 亚洲欧美偷拍内射白浆| 欧美96在线 | 欧| 饭桌上故意张开腿让公在线观 | 国产熟女一区视频在线播放| 亚洲色精品三区二区一区| 欧美丰满少妇XXXXX| 懂色av 春色 色欲| 亚洲AV永久无码精品桃花岛知道| 黎朔缠着腰不让他退出微博| 爱情岛亚洲AV永久入口首页 | 国产精品民宅偷窥盗摄| 亚洲最大AV无码网站| 欧洲精品码一区二区三区免费看| 国产精华AV午夜在线观看| 亚洲制服丝袜无码AV在线| 青草国产超碰人人添人人碱| 国产精品日日摸夜夜添夜夜添20 | 男男GV白嫩小受GV在线播放| 大陆少妇XXXX做受| 亚洲成AⅤ人片久青草影院| 男按摩师舌头伸进去了| 关灯后在线高清免费观看| 亚洲VA中文字幕| 欧美精品人妻AⅤ在线观视频免费 欧美精品免费观看二区 | 麻豆我精产国品一二三产区区别| 道德沦丧一家3口小说| 亚洲国产一二三精品无码| 欧美黑人粗暴多交高潮水最多| 国产精品亚洲精品日韩已满 | 丰满爆乳无码一区二区三区| 亚洲一久久久久久久久|