誰(shuí)能告訴偶o(jì)racle里怎么可以修改表里number數(shù)據(jù)類型的小數(shù)精度?
成都創(chuàng)新互聯(lián)是一家專業(yè)提供豐都企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、成都網(wǎng)站制作、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為豐都眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。
假如表名是tableA,列名是:colA,如果精度往小了改的話,
需要先清空表,然后在修改;
如果修改的精度更高了,可以直接修改,語(yǔ)句如下:
truncate table tableA;
alter table tableA modify colA NUMBER(24,2);
1. 將數(shù)據(jù)備份到零時(shí)表
CREATE GLOBAL TEMPORARY TABLE my_temp_table ON COMMIT PRESERVE ROWS
AS SELECT c.id,c.course_credit FROM course c;
-- 2. 將要修改精度的字段設(shè)為“NULL”,等價(jià)于刪除該字段的所有記錄
UPDATE course c SET c.course_credit = NULL;
-- 3. 修改course表,course_credit字段的類型改為number(2,1)
ALTER TABLE course MODIFY course_credit NUMBER(2,1);
偶爾我們需要在已有表,并且有數(shù)據(jù)的情況下,修改其某個(gè)字段的類型或縮短他的長(zhǎng)度,但是因?yàn)楸碇杏袛?shù)據(jù),所以不可以直接修改,需要換個(gè)思路。
//建立測(cè)試表,可跳過(guò)(善于應(yīng)用各種系統(tǒng)功能組合,來(lái)實(shí)現(xiàn)日常工作需要,是每個(gè)合格程序員必備的)
-- Create table
create table TABLE1
(
col1 number(9),
col2 char(20)
);
//嘗試修改
ALTER TABLE TABLE1 MODIFY COL1 NUMBER(10); --修改成功,因?yàn)楸碇袩o(wú)數(shù)據(jù)
//插入數(shù)據(jù)
INSERT INTO TABLE1 (COL1, COL2) VALUES (1, 'aaa');
//再次嘗試修改
ALTER TABLE TABLE1 MODIFY COL2 VARCHAR2(20);--修改失敗,因?yàn)楸碇幸延袛?shù)據(jù),不允許直接操作
//先緩存表
CREATE TABLE T_TABLE1 AS SELECT * FROM TABLE1;
//刪除原表所有數(shù)據(jù)
DELETE FROM TABLE1;
//修改字段
ALTER TABLE TABLE1 MODIFY COL1 NUMBER(9);--修改成功
ALTER TABLE TABLE1 MODIFY COL2 VARCHAR2(20);--修改成功
//插入原數(shù)據(jù)
INSERT INTO TABLE1 SELECT * FROM T_TABLE1;
//刪除緩存表
DROP TABLE T_TABLE1;
//注意,如果是CHAR類型,不足位數(shù)會(huì)自動(dòng)用空格補(bǔ)齊,所以謹(jǐn)慎使用CHAR類型,并可用TRIM()驗(yàn)證是否有符合條件的記錄。
//初始表結(jié)構(gòu)時(shí),SELECT * FROM TABLE1 WHERE COL2 = 'aaa‘; 是沒有數(shù)據(jù)的,需要SELECT *FROM TABLE1WHERE TRIM(COL2) = 'aaa';
頂
踩
上一篇oracle 修改索引現(xiàn)有表空間
下一篇Win7密碼破解 忘記win7密碼解決辦法
我的同類文章
oracle(5)
?hibernate hql 查詢指定字段并獲取結(jié)果集,多表查詢結(jié)果集2014-03-13閱讀5839
?oracle 修改索引現(xiàn)有表空間2013-10-10閱讀5620
?刪除表時(shí)同時(shí)刪除主鍵約束2011-08-16閱讀468
?oracle誤刪除數(shù)據(jù),恢復(fù)刪除的數(shù)據(jù),刪除數(shù)據(jù)后提交恢復(fù)2013-12-05閱讀721
?oracle 修改用戶下部分表現(xiàn)有表空間2013-10-10閱讀643
參考知識(shí)庫(kù)
軟件測(cè)試知識(shí)庫(kù)
3541關(guān)注|310收錄
猜你在找
微服務(wù)場(chǎng)景下的自動(dòng)化測(cè)試
Oracle數(shù)據(jù)庫(kù)
Oracle數(shù)據(jù)庫(kù)從入門到精通
Oracle數(shù)據(jù)庫(kù)開發(fā)之PL/SQL基礎(chǔ)實(shí)戰(zhàn)視頻課程
Oracle數(shù)據(jù)庫(kù)基礎(chǔ)入門培訓(xùn)課程視頻
Hibernate參考文檔
hibernate2
Sql anywhere修改表字段數(shù)據(jù)類型及長(zhǎng)度
oracle修改表字段的數(shù)據(jù)類型測(cè)試
C#中去的Oracle中的表字段類型長(zhǎng)度精度
關(guān)閉
直接右鍵點(diǎn)表,編輯,數(shù)據(jù)類型直接改,然后點(diǎn)右下角view sql ,那個(gè)sql比較完整,如果用的工具是pl/sql的話
本文題目:oracle如何修改字段精度,oracle怎么修改字段長(zhǎng)度
標(biāo)題路徑:http://jinyejixie.com/article14/dsssdde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站策劃、響應(yīng)式網(wǎng)站、自適應(yīng)網(wǎng)站、網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)