-- 查看ORACLE 数据库中所有表的注释
select table_name,comments from user_tab_comments;
-- 查看ORACLE 数据库中所有列的注释
select table_name,column_name,comments from user_col_comments;
[b]①增加字段语法:[/b]
alter table 表名 add (字段名 字段类型 默认值 是否为空);
[b]修改字段的语法:[/b]
alter table 表名 modify (字段名 字段类型 默认值 是否为空);
[b]删除字段的语法:[/b]
alter table 表名 drop column 字段名;
[b]②修改表字段长度[/b]:
alter table 表名 modify column_name varchar2(32)
alter table 表名 modify (column_name1 varchar(20) default null,column_name2 varchar2(30));
查看字段长度:
select column_name as 字段名, data_type as 数据类型, DATA_LENGTH as 数据长度 from user_tab_columns where table_name = 'EMP' and column_name in ('ENAME','SAL')
[b]④字段的重命名:[/b]
alter table 表名 rename column 列名 to 新列名 (其中:column是关键字)
[b]⑤表的重命名:[/b]
alter table 表名 rename to 新表名
[b]⑥ 查看ORACLE 数据库中所有表的注释:[/b]
select table_name,comments from user_tab_comments;
[b]⑦查看ORACLE 数据库中所有列的注释:[/b]
select table_name,column_name,comments from user_col_comments;
[b]⑧使用存储过程循环向某表进行添加X字段[/b]
如:向某个库中以AB开头的表添加CREATED字段,并添加注释
DECLARE
V_SQL VARCHAR2(2000);
V_TABLE_NAME VARCHAR2(30);
CURSOR C1 IS
SELECT TABLE_NAME FROM USER_TABLES WHERE TABLE_NAME like 'AB_%'; --查询当前用户下的所有表
BEGIN
OPEN C1;
LOOP
--提取一行数据到c1
FETCH C1
INTO V_TABLE_NAME;
--判读是否提取到值,没取到值就退出
EXIT WHEN C1%NOTFOUND;
V_SQL := 'alter table ' || V_TABLE_NAME || ' ADD CREATED VARCHAR2(20) DEFAULT 默认值,没有就为NULL 修改值';
EXECUTE IMMEDIATE V_SQL;
V_SQL := 'COMMENT ON COLUMN ' || V_TABLE_NAME || '.' || 'CREATED IS ''存储时间''';
EXECUTE IMMEDIATE V_SQL;
END LOOP; --关闭游标
CLOSE C1;
END;
select table_name,comments from user_tab_comments;
-- 查看ORACLE 数据库中所有列的注释
select table_name,column_name,comments from user_col_comments;
[b]①增加字段语法:[/b]
alter table 表名 add (字段名 字段类型 默认值 是否为空);
[b]修改字段的语法:[/b]
alter table 表名 modify (字段名 字段类型 默认值 是否为空);
[b]删除字段的语法:[/b]
alter table 表名 drop column 字段名;
[b]②修改表字段长度[/b]:
alter table 表名 modify column_name varchar2(32)
alter table 表名 modify (column_name1 varchar(20) default null,column_name2 varchar2(30));
查看字段长度:
select column_name as 字段名, data_type as 数据类型, DATA_LENGTH as 数据长度 from user_tab_columns where table_name = 'EMP' and column_name in ('ENAME','SAL')
[b]④字段的重命名:[/b]
alter table 表名 rename column 列名 to 新列名 (其中:column是关键字)
[b]⑤表的重命名:[/b]
alter table 表名 rename to 新表名
[b]⑥ 查看ORACLE 数据库中所有表的注释:[/b]
select table_name,comments from user_tab_comments;
[b]⑦查看ORACLE 数据库中所有列的注释:[/b]
select table_name,column_name,comments from user_col_comments;
[b]⑧使用存储过程循环向某表进行添加X字段[/b]
如:向某个库中以AB开头的表添加CREATED字段,并添加注释
DECLARE
V_SQL VARCHAR2(2000);
V_TABLE_NAME VARCHAR2(30);
CURSOR C1 IS
SELECT TABLE_NAME FROM USER_TABLES WHERE TABLE_NAME like 'AB_%'; --查询当前用户下的所有表
BEGIN
OPEN C1;
LOOP
--提取一行数据到c1
FETCH C1
INTO V_TABLE_NAME;
--判读是否提取到值,没取到值就退出
EXIT WHEN C1%NOTFOUND;
V_SQL := 'alter table ' || V_TABLE_NAME || ' ADD CREATED VARCHAR2(20) DEFAULT 默认值,没有就为NULL 修改值';
EXECUTE IMMEDIATE V_SQL;
V_SQL := 'COMMENT ON COLUMN ' || V_TABLE_NAME || '.' || 'CREATED IS ''存储时间''';
EXECUTE IMMEDIATE V_SQL;
END LOOP; --关闭游标
CLOSE C1;
END;