Oracle在某列原有内容上追加内容
1.给某列前⾯增加字符:
UPDATE 表名 SET 列名 = '要添加的字符'||列名
2.给某列后⾯增加字符:
UPDATE 表名 SET 列名 = 列名||'要添加的字符'
替换字段中文字内容
update 表名 set 字段名 = REPLACE(字段名,'替换前的内容','替换后的内容')
用户无法删除:
1.将要删除的用户锁定(这句必须执行):
alter user 用户名 account lock;
2.查看当前用户占用资源:
select saddr,sid,serial#,paddr,username,status from v$session where username = '用户名';
3. 执行以下杀死进程的sql(下面的两个参数是status为INACTIVE时的记录):
alter system kill session 'sid,serial#';
或批量kill session(获取查询后执行)
select 'alter system kill session '''||sid ||','||serial#||''' immediate;',username,status from v$session where username='数据库名';
4. 执行删除用户操作
drop user 用户名 cascade;
Oracle 删除重复并保留一条数据
1、查询重复数据
根据id分组查询,查询数量大于1的,即为有重复的数据。
select id, count() from table_name t group by t.id having(count() > 1);
2、删除重复并保留一条数据
根据id分组删除每组中除了rowid最小的数据。
delete from table_name t
where t.rowid not in
(select min(rowid) from table_name t1 where t1.id = t.id group by id);
Oracle 删除重复数据(删除所有重复数据)
delete from table_name t where t.id in (select id from table_name t1 group by id having(count()>1));
或者
delete from table_name t where exists (select id from table_name t1 group by id having(count()>1));
导入导出
导出指定用户
exp user_name/password@ip:port/sid owner=导出用户 file=导出地址
导出全部
exp user_name/password@ip:port/sid full=y file=导出地址
导入指定用户
imp user_name/password@ip:port/sid fromuser=导出的用户 touser=导入的用户 file=文件路径
导入全部
imp user_name/password@ip:port/sid full=y file=文件路径