Oracle常用SQL操作
程序员文章站
2022-04-03 20:53:41
...
-- 查看ORACLE 数据库中所有表的注释
select table_name,comments from user_tab_comments;
-- 查看ORACLE 数据库中所有列的注释
select table_name,column_name,comments from user_col_comments;
①增加字段语法:
alter table 表名 add (字段名 字段类型 默认值 是否为空);
修改字段的语法:
alter table 表名 modify (字段名 字段类型 默认值 是否为空);
删除字段的语法:
alter table 表名 drop column 字段名;
②修改表字段长度:
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')
④字段的重命名:
alter table 表名 rename column 列名 to 新列名 (其中:column是关键字)
⑤表的重命名:
alter table 表名 rename to 新表名
⑥ 查看ORACLE 数据库中所有表的注释:
select table_name,comments from user_tab_comments;
⑦查看ORACLE 数据库中所有列的注释:
select table_name,column_name,comments from user_col_comments;
⑧使用存储过程循环向某表进行添加X字段
如:向某个库中以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;
①增加字段语法:
alter table 表名 add (字段名 字段类型 默认值 是否为空);
修改字段的语法:
alter table 表名 modify (字段名 字段类型 默认值 是否为空);
删除字段的语法:
alter table 表名 drop column 字段名;
②修改表字段长度:
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')
④字段的重命名:
alter table 表名 rename column 列名 to 新列名 (其中:column是关键字)
⑤表的重命名:
alter table 表名 rename to 新表名
⑥ 查看ORACLE 数据库中所有表的注释:
select table_name,comments from user_tab_comments;
⑦查看ORACLE 数据库中所有列的注释:
select table_name,column_name,comments from user_col_comments;
⑧使用存储过程循环向某表进行添加X字段
如:向某个库中以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;
上一篇: webservice之间通信
下一篇: 触发器-行级触发