Oracle常用的SQL方法总结
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,在项目中一般需要对一些数据进行处理,以下提供一些基本的SQL语句:1.基于条件的插入和修改:需要在表中插入一条记录,插入前根据key标识判断。如果标识符不存在,则插入新纪录,如果标识符存在,则根据语句
千家信息网最后更新 2025年11月07日Oracle常用的SQL方法总结
在项目中一般需要对一些数据进行处理,以下提供一些基本的SQL语句:
1.基于条件的插入和修改:需要在表中插入一条记录,插入前根据key标识判断。如果标识符不存在,则插入新纪录,如果标识符存在,则根据语句中所给的新值对原纪录中的字段进行更新:
merge into Ausing Bon (A.key = B.key)when matched then update set A.name = B.namewhen not matched then insert into (A.key, A.name) values (B.key, B.name)
2.在分组和集合里统计分组:当需要统计一个分组里的成员,或有多少个子分组,及其他基于集合的统计。在进行基于集合的统计时,还需要动态包括或剔除满足特定条件的记录。
实例如下:基于职工在企业里的升职次数,来统计企业每个员工经历过的工作岗位次数。
select jh.JobsHeld, count(*) as StaffCount from (select u.employee_id, count(*) as JobsHeld from (select employee_id from hr.employees union all select employee_id from hr.job_history) u group by u.employee_id) jh group by jh.JogsHeld
3.根据时间戳恢复数据:
ALTER TABLE tablename ENABLE row movement ;flashback table tablename to timestamp to_timestamp('2012-09-13 13:00:00','yyyy-mm-dd hh34:mi:ss');4.有一个类型为字符串的字段,要讲其值迁移到新系统里的数值类型字段中:
create or replace function isnum(v_in varchar2) return varchar is val_err exception; pragma exception_init(val_err, -6502) --char to num conv.error scrub_num number;begin scrub_num := to_number(v_in) return 'Y';exception when val_err then return 'N';end;
5.解决死锁问题:
(1).查看被锁的表 select b.owner,b.object_name,a.session_id,a.locked_modefrom v$locked_object a,dba_objects bwhere b.object_id = a.object_id; (2).查看引起死锁的会话 select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session bwhere a.session_id = b.sid order by b.logon_time; (3).杀掉死锁alter system kill session 'sid,serial#';
6.查看当前连接用户正在运行的SQL语句:
select a.SID, a.USERNAME, b.SQL_TEXT from v$session a, v$sqltext_with_newlines b where a.SQL_ADDRESS = b.ADDRESS and a.SQL_HASH_VALUE = b.HASH_VALUE order by a.USERNAME, a.SID, b.piece
7.查询最消耗资源的实时语句:
oracle 11g中,可以通过查询V$SQL_MONITOR来监控SQL查询近乎实时的消耗资源 select * from ( select a.sid session_id,a.sql_id,a.status,a.cpu_time/1000000 cpu_sec,a.buffer_gets,a.disk_reads,b.sql_text sql_text from v$sql_monitor a,v$sql_b where a.sql_id=b.sql_id order by a.cpu_time desc) where rownum<=20;
统计
语句
分组
字段
标识
死锁
查询
企业
实时
数据
条件
标识符
次数
类型
纪录
资源
消耗
个子
动态
及其他
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
php数据库如何上传云端
不想做软件开发可以做什么
php 初始化数据库失败
数据库主键和外键联系
司机交通数据库
安装数据库提示安装日志文件
中专网络技术有前途吗
山东中扬软件开发有限公司
物联网软件开发用什么语言
客户机怎么使用服务器
js数组查重复的数据库
魔兽世界找服务器变少了
刚毕业做什么软件开发
计算机网络技术有那些学校
海康摄像头添加到服务器上
易语言列表框加入数据库
java软件开发必看书籍
与网络安全有关的锁的词语
苹果手机怎么升级网络安全性
网络安全法律主题班会
北京多功能网络技术开发价值
枣庄直播软件开发外包公司
江西神州网络安全测评师
网络安全大赛江西
国内机票价格数据库
移动通信网络技术pdf
国外软件开发平台
代码部署到服务器操作
软件开发oem智能还款系统
2021服务器市场半年总结