orace7.31_7.33临时表临时表,Trace日志, Insert 语句, 删除正在连接数据库的用户
2016-05-12 14:27
447 查看
7.31 Oracle 临时表
-- Create table
create global temporary table T_TEMP_TEST_RATE
(
name VARCHAR2(512),
rate NUMBER,
revenue NUMBER
)
on commit preserve rows;
global:临时表
oracle临表两种
on commit delete row; --默认选项commit候数据删除,事务级临时表
on commit preserve row; --commit候数据保留结束自删除,会话级临时表
ddl语句(create table ddl)发oracle隐式提交事务(commit)刚刚插入临表数据自删除;
参考:
http://www.cnblogs.com/kerrycode/archive/2014/03/26/3627334.html
select * from v$lock_type where type='TO' ;
TO :Temp Object
7.32 Trace日志
/opt/oracle/product/diag/rdbms/testdb/testdb/trace/testdb_ora_68201.trc
7.33 Insert 语句
从一张表里查询数据插入另一张表:
insert into t_sys_info_test_liu valuses select * from t_sys_info_test_w;
带有函数的需要嵌套:
insert into A (id,name,age,class)
select SEQ_A.nextval,b_name,b_age,b_class
from
(select
b_name,b_age,b_class
from b
group by b_name,b_age,b_class
)
7.25 删除正在连接数据库的用户
-- 1、首先切换到 SYS 用户
-- 2、查询用户各进程相对应的 sid、serial#。注意:这里的 username 必须大写
SELECT sid,serial#,username FROM v$session WHERE username = 'TEST2011';
-- 下面是查询结果
SID SERIAL# USERNAME
---------- ---------- ------------------------------
120 61422 TEST2011
131 62682 TEST2011
133 45409 TEST2011
148 38527 TEST2011
157 21137 TEST2011
-- 3、根据上面的查询结果,将用户占用的所有进程杀掉。注意: sid 与 serial# 是一一对应的
ALTER SYSTEM KILL SESSION '120, 61422';
-- Create table
create global temporary table T_TEMP_TEST_RATE
(
name VARCHAR2(512),
rate NUMBER,
revenue NUMBER
)
on commit preserve rows;
global:临时表
oracle临表两种
on commit delete row; --默认选项commit候数据删除,事务级临时表
on commit preserve row; --commit候数据保留结束自删除,会话级临时表
ddl语句(create table ddl)发oracle隐式提交事务(commit)刚刚插入临表数据自删除;
参考:
http://www.cnblogs.com/kerrycode/archive/2014/03/26/3627334.html
select * from v$lock_type where type='TO' ;
TO :Temp Object
7.32 Trace日志
/opt/oracle/product/diag/rdbms/testdb/testdb/trace/testdb_ora_68201.trc
7.33 Insert 语句
从一张表里查询数据插入另一张表:
insert into t_sys_info_test_liu valuses select * from t_sys_info_test_w;
带有函数的需要嵌套:
insert into A (id,name,age,class)
select SEQ_A.nextval,b_name,b_age,b_class
from
(select
b_name,b_age,b_class
from b
group by b_name,b_age,b_class
)
7.25 删除正在连接数据库的用户
-- 1、首先切换到 SYS 用户
-- 2、查询用户各进程相对应的 sid、serial#。注意:这里的 username 必须大写
SELECT sid,serial#,username FROM v$session WHERE username = 'TEST2011';
-- 下面是查询结果
SID SERIAL# USERNAME
---------- ---------- ------------------------------
120 61422 TEST2011
131 62682 TEST2011
133 45409 TEST2011
148 38527 TEST2011
157 21137 TEST2011
-- 3、根据上面的查询结果,将用户占用的所有进程杀掉。注意: sid 与 serial# 是一一对应的
ALTER SYSTEM KILL SESSION '120, 61422';
相关文章推荐
- PostgresQL 数据库统计信息查看
- SQL知识点
- Ubuntu 14.04下mysql安装配置教程
- mysql语句2
- SQL创建表
- 7.30 Oracle Net管理错误
- 查询sqlserver 正在执行的sql语句的详细信息
- 查询sqlserver 正在执行的sql语句的详细信息
- 7.29 数据库函数
- SQL Server阻止保存修改表结构的解决方法
- 【转】ofbiz数据库表结构设计
- model 数据库
- Transact-SQL 语法约定 (Transact-SQL)
- 报错:Missing artifact.com.oracle:ojdbc14:10.0.2.0
- SQL生成周辅助表
- Mybatis SqlSessionTemplate 源码解析
- [mysql]throw exception
- redis超时问题分析
- PHP扩展--Oracle客户端(oci8)安装
- Oracle 11g export and import