1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
-- Create table
create
table
TABLE1
(
col1 number(9),
col2
char
(20)
);
//尝试修改
ALTER
TABLE
TABLE1
MODIFY
COL1 NUMBER(10);
--修改成功,因为表中无数据
//插入数据
INSERT
INTO
TABLE1 (COL1, COL2)
VALUES
(1,
'aaa'
);
//再次尝试修改
ALTER
TABLE
TABLE1
MODIFY
COL2 VARCHAR2(20);
--修改失败,因为表中已有数据,不允许直接操作
//先缓存表
CREATE
TABLE
T_TABLE1
AS
SELECT
*
FROM
TABLE1;
//删除原表所有数据
DELETE
FROM
TABLE1;
//修改字段
ALTER
TABLE
TABLE1
MODIFY
COL1 NUMBER(9);
--修改成功
ALTER
TABLE
TABLE1
MODIFY
COL2 VARCHAR2(20);
--修改成功
//插入原数据
INSERT
INTO
TABLE1
SELECT
*
FROM
T_TABLE1;
//删除缓存表
DROP
TABLE
T_TABLE1;
//注意,如果是
CHAR
类型,不足位数会自动用空格补齐,所以谨慎使用
CHAR
类型,并可用TRIM()验证是否有符合条件的记录。
//初始表结构时,
SELECT
*
FROM
TABLE1
WHERE
COL2 =
'aaa‘; 是没有数据的,需要SELECT * FROM TABLE1 WHERE TRIM(COL2) = '
aaa';
|
oracle数据库修改表中的字段 有数据和无数据
最新推荐文章于 2023-04-19 14:27:26 发布