oracle表操作

--查询所有表名
SELECT T.TABLE_NAME FROM USER_TABLES T;

--查询所有字段名
SELECT T.COLUMN_NAME FROM USER_COL_COMMENTS T;

--查询指定表字段名和注释
SELECT T.COLUMN_NAME ,T.COMMENTS FROM USER_COL_COMMENTS T WHERE T.TABLE_NAME = 'T_THREE_KILLED';

--查询表的数据条数、表名、中文表名
SELECT A.NUM_ROWS, A.TABLE_NAME, B.COMMENTS FROM USER_TABLES A, USER_TAB_COMMENTS B;
WHERE A.TABLE_NAME = B.TABLE_NAME ORDER BY TABLE_NAME;

--给表添加注释
COMMENT ON TABLE T_THREE_KILLED IS '三国杀人物表';

--给列添加注释
COMMENT ON COLUMN T_THREE_KILLED.C_SKILL IS '技能';

--给列起别名 AS 和双引号可以去掉
SELECT T.C_NAME AS "姓名",T.C_SKILL AS "技能" FROM T_THREE_KILLED T;

--去重
SELECT DISTINCT T.C_AGE FROM T_THREE_KILLED t;

--解决Oracle用户最大连接数问题:java.sql.SQLException: ORA-02391: exceeded simultaneous SESSIONS_PER_USER limit

select username,profile from dba_users a where a.username='INDBADMIN'; --查询用户使用的profile

select * from dba_profiles a where a.resource_name='SESSIONS_PER_USER'; --查询profile的连接数

create profile five_thousand_session limit sessions_per_user 5000; --创建一个5000连接数的profile

alter user INDBADMIN profile five_thousand_session;  --更改用户的profile,已达到连接数限制

--创建临时表

1.会话级别临时表

会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会话结束的时候,Oracle自动清除临时表中数据。

create global temporary table aaa(id number) on commit Preserve rows;

insert into aaa values(100);

select * from aaa;

这是当你在打开另一个会话窗口的时候再次查询,表内的数据就查询不到了。

2.事务级别的临时表

create global temporary table bbb(id number) on commit delete rows;

insert into bbb values(200);

select * from bbb;

这时当你执行了commit和rollback操作的话,再次查询表内的数据就查不到了。

--批量插入

INSERT ALL 
INTO A(field_1,field_2) VALUES (value_1,value_2) 
INTO A(field_1,field_2) VALUES (value_3,value_4) 
INTO A(field_1,field_2) VALUES (value_5,value_6)
SELECT 1 FROM DUAL;

原文地址:https://www.cnblogs.com/dulianyong/p/10837151.html