SELECT * FROM (

select

/*流程监控:ODI问题流程最新记录【仅限调度活动的流程】*/

/*error*/

[SCHOOL] SCHOOL,--学校

业务系统 OPER_SYS,--业务系统

流程名称 PROCESS_NAME,--"调度名称/流程名称"

源对象 SRC_OBJ,--源对象

目标对象 TAG_OBJ,--目标对象

'['||LAGENT_NAME||'] '||调度周期 SCHEDULE,--调度周期

状态 SESS_STATUS,--状态

最新执行结束时间 LAST_SESS_END,--最新执行结束时间

报错信息 ERR_MESSAGE,--报错信息

to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss') TIMEFLAG

from (

select distinct

CASE WHEN xm2.PAR_I_FOLDER is not null then (SELECT XM3.FOLDER_NAME FROM ly_odi_gzk.SNP_FOLDER XM3

WHERE XM3.I_FOLDER=XM2.PAR_I_FOLDER)--三层根文件夹

when XM.PAR_I_FOLDER IS NOT NULL THEN xm2.FOLDER_NAME--两层根文件夹

ELSE XM.FOLDER_NAME END 业务系统,--一层根文件夹

jk.i_pop 接口,

SCEN.SCEN_NAME||(CASE WHEN SCEN.I_PACKAGE IS NOT NULL THEN '--'||STEP_REPORT.STEP_NAME ELSE '' END) 流程名称,

AGEN.LAGENT_NAME,

yb.table_name 源对象,

jk.table_name 目标对象,

case when agen.stat_plan = 'D' then '非活动' when agen.stat_plan = 'E' then '活动' when agen.stat_plan is null then '无调度'

else agen.stat_plan end 调度状态,

case when agen.I_PLAN_AGENT is null then '/' --无调度

when agen.R_TIME||agen.s_type='1D' then agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/D'

when agen.R_TIME||agen.s_type='1S' then agen.s_hour||':'||agen.s_minute||':'||agen.s_second

when agen.R_TIME||agen.s_type='1W' then agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/W-'||agen.S_WEEK_DAY

when agen.R_TIME||agen.s_type='1M' then agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/M-'||agen.S_MONTH_DAY

WHEN AGEN.R_TIME||AGEN.S_TYPE='1H' THEN AGEN.S_HOUR||':'||AGEN.S_MINUTE||':'||AGEN.S_SECOND||'/H'

else agen.r_dur_interval||agen.r_interval_unit||(

case when agen.s_type='S' then '('||agen.s_hour||':'||agen.s_minute||':'||agen.s_second||')'

when agen.s_type='W' then ' & '||agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/W-'||agen.S_WEEK_DAY

when agen.s_type='M' then ' & '||agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/M-'||agen.S_MONTH_DAY

WHEN agen.s_type='D' then ' & '||agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/D'

WHEN agen.s_type='Y' then ' & '||agen.S_MONTH||'.'||agen.S_DAY||' '||agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/Y'

else ' & '||agen.s_type end

) end 调度周期,

'报错' 状态,

to_char(STEP_REPORT.STEP_END,'yyyy-mm-dd hh24:mm:ss') 最新执行结束时间,

to_char(CASE WHEN STEP_REPORT.ERROR_MESSAGE LIKE '%at %' THEN SUBSTR(STEP_REPORT.ERROR_MESSAGE,1,instr(STEP_REPORT.ERROR_MESSAGE,chr(9)||'at ')-2) ELSE STEP_REPORT.ERROR_MESSAGE END) 报错信息

,agen.SCEN_NAME||''||agen.SCEN_VERSION 场景

FROM (SELECT * FROM LY_ODI_GZK.SNP_STEP_REPORT A WHERE A.STEP_STATUS = 'E' AND A.SCEN_RUN_NO IN (SELECT SCEN_RUN_NO FROM (SELECT SCEN_RUN_NO,ROW_NUMBER() OVER(PARTITION BY STEP_NAME ORDER BY STEP_END DESC) RAWNUM FROM LY_ODI_GZK.SNP_STEP_REPORT) WHERE RAWNUM = 1)) STEP_REPORT

LEFT JOIN LY_ODI_GZK.SNP_POP JK ON UPPER(STEP_REPORT.STEP_NAME) =UPPER(JK.POP_NAME)

LEFT JOIN LY_ODI_GZK.SNP_TRT TRT ON UPPER(STEP_REPORT.STEP_NAME) =UPPER(TRT.TRT_NAME)

LEFT JOIN LY_ODI_GZK.SNP_FOLDER XM on COALESCE(JK.I_FOLDER,TRT.I_FOLDER) = XM.I_FOLDER

left join LY_ODI_GZK.SNP_FOLDER XM2 on XM.PAR_I_FOLDER = XM2.I_FOLDER

LEFT JOIN LY_ODI_GZK.SNP_SCEN SCEN ON STEP_REPORT.SCEN_NO = SCEN.SCEN_NO

left join LY_ODI_GZK.SNP_SOURCE_TAB YB on YB.I_DATA_SET = JK.I_POP

left join (SELECT * FROM ly_odi_gzk.SNP_PLAN_AGENT WHERE STAT_PLAN = 'E') agen on (agen.SCEN_NAME||''||agen.SCEN_VERSION) = (SCEN.SCEN_NAME||''||SCEN.SCEN_VERSION)

WHERE AGEN.STAT_PLAN = 'E' AND UPPER(AGEN.SCEN_NAME) NOT IN (SELECT UPPER(SCEN_NAME) FROM LY_ODI_GZK.SNP_SESSION WHERE SCEN_NAME IS NOT NULL AND MASTER_AGENT_NAME IS NOT NULL AND (SESS_STATUS IN ('M') OR ERROR_MESSAGE LIKE '%ODI-1266%')

AND SESS_NO IN (SELECT SESS_NO FROM (SELECT SESS_NO,ROW_NUMBER() OVER(PARTITION BY SESS_NAME, SCEN_VERSION ORDER BY LAST_DATE DESC) RAWNUM FROM LY_ODI_GZK.SNP_SESSION ) WHERE RAWNUM = 1))

)

UNION ALL

SELECT

/*流程监控:ODI问题流程最新记录【仅限调度活动的流程】*/

/*警告和ODI-1266(会话过时)*/

[SCHOOL] SCHOOL,--学校

业务系统 OPER_SYS,--业务系统

调度名称 PROCESS_NAME,--"调度名称/流程名称"

源对象 SRC_OBJ,--源对象

目标对象 TAG_OBJ,--目标对象

'['||LAGENT_NAME||'] '||调度周期 SCHEDULE,--调度周期

状态 SESS_STATUS,--状态

最新执行结束时间 LAST_SESS_END,--最新执行结束时间

报错信息 ERR_MESSAGE,--报错信息

TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss') TIMEFLAG

FROM (

SELECT DISTINCT

CASE WHEN XM2.PAR_I_FOLDER IS NOT NULL THEN (SELECT XM3.FOLDER_NAME FROM LY_ODI_GZK.SNP_FOLDER XM3

WHERE XM3.I_FOLDER=XM2.PAR_I_FOLDER)--三层根文件夹

WHEN XM.PAR_I_FOLDER IS NOT NULL THEN XM2.FOLDER_NAME--两层根文件夹

ELSE XM.FOLDER_NAME END 业务系统,--一层根文件夹

JK.I_POP 接口,

AGEN.SCEN_NAME 调度名称,

AGEN.LAGENT_NAME,

YB.TABLE_NAME 源对象,

JK.TABLE_NAME 目标对象,

CASE WHEN AGEN.STAT_PLAN = 'D' THEN '非活动' WHEN AGEN.STAT_PLAN = 'E' THEN '活动' WHEN AGEN.STAT_PLAN IS NULL THEN '无调度'

ELSE AGEN.STAT_PLAN END 调度状态,

case when agen.I_PLAN_AGENT is null then '/' --无调度

when agen.R_TIME||agen.s_type='1D' then agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/D'

when agen.R_TIME||agen.s_type='1S' then agen.s_hour||':'||agen.s_minute||':'||agen.s_second

when agen.R_TIME||agen.s_type='1W' then agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/W-'||agen.S_WEEK_DAY

when agen.R_TIME||agen.s_type='1M' then agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/M-'||agen.S_MONTH_DAY

WHEN AGEN.R_TIME||AGEN.S_TYPE='1H' THEN AGEN.S_HOUR||':'||AGEN.S_MINUTE||':'||AGEN.S_SECOND||'/H'

else agen.r_dur_interval||agen.r_interval_unit||(

case when agen.s_type='S' then '('||agen.s_hour||':'||agen.s_minute||':'||agen.s_second||')'

when agen.s_type='W' then ' & '||agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/W-'||agen.S_WEEK_DAY

when agen.s_type='M' then ' & '||agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/M-'||agen.S_MONTH_DAY

WHEN agen.s_type='D' then ' & '||agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/D'

WHEN agen.s_type='Y' then ' & '||agen.S_MONTH||'.'||agen.S_DAY||' '||agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/Y'

else ' & '||agen.s_type end

) end 调度周期,

CASE WHEN SESS.SESS_STATUS = 'E' THEN '报错' ELSE '警告' END 状态,

TO_CHAR(SESS.SESS_END,'yyyy-mm-dd hh24:mm:ss') 最新执行结束时间,

CASE WHEN SESS.SESS_STATUS = 'E' AND SESS.ERROR_MESSAGE LIKE '%at %' THEN TO_CHAR(SUBSTR(SESS.ERROR_MESSAGE,1,INSTR(SESS.ERROR_MESSAGE,CHR(9)||'at ')-2)) ELSE TO_CHAR(SESS.ERROR_MESSAGE) END 报错信息

,AGEN.SCEN_NAME||''||AGEN.SCEN_VERSION 场景

FROM (SELECT * FROM LY_ODI_GZK.SNP_SESSION WHERE SCEN_NAME IS NOT NULL AND MASTER_AGENT_NAME IS NOT NULL AND (SESS_STATUS IN ('M') OR ERROR_MESSAGE LIKE '%ODI-1266%')

AND SESS_NO IN (SELECT SESS_NO FROM (SELECT SESS_NO,ROW_NUMBER() OVER(PARTITION BY SESS_NAME, SCEN_VERSION ORDER BY LAST_DATE DESC) RAWNUM FROM LY_ODI_GZK.SNP_SESSION ) WHERE RAWNUM = 1)) SESS

LEFT JOIN (SELECT * FROM ly_odi_gzk.SNP_PLAN_AGENT WHERE STAT_PLAN = 'E') AGEN ON (AGEN.SCEN_NAME||''||AGEN.SCEN_VERSION) = (SESS.SCEN_NAME||''||SESS.SCEN_VERSION)

LEFT JOIN LY_ODI_GZK.SNP_SCEN SCEN ON (SESS.SCEN_NAME||''||SESS.SCEN_VERSION) = (SCEN.SCEN_NAME||''||SCEN.SCEN_VERSION)

LEFT JOIN LY_ODI_GZK.SNP_PACKAGE CXB ON SCEN.I_PACKAGE = CXB.I_PACKAGE

LEFT JOIN LY_ODI_GZK.SNP_POP JK ON SCEN.I_POP = JK.I_POP

LEFT JOIN LY_ODI_GZK.SNP_TRT TRT ON SCEN.I_TRT = TRT.I_TRT

LEFT JOIN LY_ODI_GZK.SNP_FOLDER XM ON COALESCE(JK.I_FOLDER,CXB.I_FOLDER,TRT.I_FOLDER)=XM.I_FOLDER

LEFT JOIN LY_ODI_GZK.SNP_FOLDER XM2 ON XM.PAR_I_FOLDER = XM2.I_FOLDER

LEFT JOIN LY_ODI_GZK.SNP_SOURCE_TAB YB ON YB.I_DATA_SET = JK.I_POP

WHERE AGEN.STAT_PLAN = 'E'

)

UNION ALL

SELECT

/*流程监控:ODI问题流程最新记录(包括调度时间异常)【仅限调度活动的流程】*/

/*异常调度时间*/

[SCHOOL] SCHOOL,--学校

业务系统 OPER_SYS,--业务系统

调度名称 PROCESS_NAME,--"调度名称/流程名称"

源对象 SRC_OBJ,--源对象

目标对象 TAG_OBJ,--目标对象

'['||LAGENT_NAME||'] '||调度周期 SCHEDULE,--调度周期

CASE WHEN 不规律调度配置 = '1' THEN '请人工检查流程是否按照调度配置执行' ELSE '调度异常' END SESS_STATUS,--状态

最新执行结束时间 LAST_SESS_END,--最新执行结束时间

TRUNC(未执行时长)||'天'||TRUNC((未执行时长-TRUNC(未执行时长))*24)||'小时'||TRUNC(((未执行时长-TRUNC(未执行时长))*24-TRUNC((未执行时长-TRUNC(未执行时长))*24))*60)||'分钟 未运行新流程'||(CASE WHEN SESS_NAME IS NULL THEN ',从没执行过。' WHEN SESS_STATUS = 'R' THEN ',正在运行。' ELSE '' END) ERR_MESSAGE,--报错信息

TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss') TIMEFLAG

FROM (

SELECT DISTINCT

CASE WHEN XM2.PAR_I_FOLDER IS NOT NULL THEN (SELECT XM3.FOLDER_NAME FROM LY_ODI_GZK.SNP_FOLDER XM3

WHERE XM3.I_FOLDER=XM2.PAR_I_FOLDER)--三层根文件夹

WHEN XM.PAR_I_FOLDER IS NOT NULL THEN XM2.FOLDER_NAME--两层根文件夹

ELSE XM.FOLDER_NAME END 业务系统,--一层根文件夹

JK.I_POP 接口,

CASE WHEN SCEN.I_PACKAGE IS NOT NULL THEN CXB.PACK_NAME WHEN SCEN.I_POP IS NOT NULL THEN JK.POP_NAME ELSE TRT.TRT_NAME END 调度名称,

YB.TABLE_NAME 源对象,

JK.TABLE_NAME 目标对象,

case when agen.I_PLAN_AGENT is null then '/' --无调度

when agen.R_TIME||agen.s_type='1D' then agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/D'

when agen.R_TIME||agen.s_type='1S' then agen.s_hour||':'||agen.s_minute||':'||agen.s_second

when agen.R_TIME||agen.s_type='1W' then agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/W-'||agen.S_WEEK_DAY

when agen.R_TIME||agen.s_type='1M' then agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/M-'||agen.S_MONTH_DAY

WHEN AGEN.R_TIME||AGEN.S_TYPE='1H' THEN AGEN.S_HOUR||':'||AGEN.S_MINUTE||':'||AGEN.S_SECOND||'/H'

else agen.r_dur_interval||agen.r_interval_unit||(

case when agen.s_type='S' then '('||agen.s_hour||':'||agen.s_minute||':'||agen.s_second||')'

when agen.s_type='W' then ' & '||agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/W-'||agen.S_WEEK_DAY

when agen.s_type='M' then ' & '||agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/M-'||agen.S_MONTH_DAY

WHEN agen.s_type='D' then ' & '||agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/D'

WHEN agen.s_type='Y' then ' & '||agen.S_MONTH||'.'||agen.S_DAY||' '||agen.s_hour||':'||agen.s_minute||':'||agen.s_second||'/Y'

else ' & '||agen.s_type end

) end 调度周期,

TO_CHAR((CASE WHEN SESS.SESS_STATUS IN ('W','R') THEN SESS.LAST_DATE ELSE SESS.SESS_END END),'yyyy-mm-dd hh24:mm:ss') 最新执行结束时间,

SYSDATE - (CASE WHEN SESS.SESS_NAME IS NULL THEN (SELECT MIN(T.FIRST_DATE) FROM LY_ODI_GZK.SNP_SESSION T) ELSE SESS.FIRST_DATE END) 未执行时长,

CASE WHEN SESS.SESS_NO IS NULL THEN (SYSDATE - (SELECT MIN(FIRST_DATE) FROM LY_ODI_GZK.SNP_SESSION))*24*60

WHEN SESS.SESS_END IS NULL THEN (SYSDATE - SESS.LAST_DATE)*24*60 ELSE

(CASE WHEN AGEN.S_TYPE = 'D' AND (SYSDATE - SESS.SESS_END)>=1 THEN (SYSDATE - TO_DATE(AGEN.S_YEAR||'-'||AGEN.S_MONTH||'-'||AGEN.S_DAY||' '||AGEN.S_HOUR||':'||AGEN.S_MINUTE||':'||AGEN.S_SECOND,'YYYY-MM-DD HH24:MI:SS'))+(SYSDATE - SESS.SESS_END - 1)*24*60

WHEN AGEN.R_TIME = '0' THEN (

CASE WHEN AGEN.R_INTERVAL_UNIT = 'H' THEN (SYSDATE - SESS.LAST_DATE)*24*60-AGEN.R_DUR_INTERVAL*60

WHEN AGEN.R_INTERVAL_UNIT = 'M' THEN (SYSDATE - SESS.LAST_DATE)*24*60-AGEN.R_DUR_INTERVAL

WHEN AGEN.R_INTERVAL_UNIT = 'S' THEN (SYSDATE - SESS.LAST_DATE)*24*60-AGEN.R_DUR_INTERVAL/60

ELSE -1 END)

ELSE -1 END) END 超时分钟数R,

SESS.SESS_NAME,

SESS.SESS_STATUS,

AGEN.LAGENT_NAME,

CASE WHEN AGEN.S_TYPE IN ('W','M','Y') THEN '1' ELSE '0' END 不规律调度配置

FROM LY_ODI_GZK.SNP_SCEN SCEN

INNER JOIN (SELECT * FROM LY_ODI_GZK.SNP_PLAN_AGENT WHERE STAT_PLAN = 'E') AGEN ON UPPER(AGEN.SCEN_NAME||AGEN.SCEN_VERSION) = UPPER(SCEN.SCEN_NAME||SCEN.SCEN_VERSION)

LEFT JOIN (SELECT * FROM LY_ODI_GZK.SNP_SESSION WHERE SCEN_NAME IS NOT NULL AND MASTER_AGENT_NAME IS NOT NULL

AND SESS_NO IN (SELECT SESS_NO FROM (SELECT SESS_NO,ROW_NUMBER() OVER(PARTITION BY SESS_NAME, SCEN_VERSION ORDER BY LAST_DATE DESC) RAWNUM FROM LY_ODI_GZK.SNP_SESSION ) WHERE RAWNUM = 1)

) SESS ON UPPER(SESS.SCEN_NAME||SESS.SCEN_VERSION) = UPPER(SCEN.SCEN_NAME||SCEN.SCEN_VERSION)

LEFT JOIN LY_ODI_GZK.SNP_PACKAGE CXB ON SCEN.I_PACKAGE = CXB.I_PACKAGE

LEFT JOIN LY_ODI_GZK.SNP_POP JK ON SCEN.I_POP = JK.I_POP

LEFT JOIN LY_ODI_GZK.SNP_TRT TRT ON SCEN.I_TRT = TRT.I_TRT

LEFT JOIN LY_ODI_GZK.SNP_FOLDER XM ON COALESCE(JK.I_FOLDER,CXB.I_FOLDER,TRT.I_FOLDER) = XM.I_FOLDER

LEFT JOIN LY_ODI_GZK.SNP_FOLDER XM2 ON XM.PAR_I_FOLDER = XM2.I_FOLDER

LEFT JOIN LY_ODI_GZK.SNP_SOURCE_TAB YB ON YB.I_DATA_SET = JK.I_POP

)WHERE 超时分钟数R-30>0 OR 不规律调度配置 = '1'

)WHERE OPER_SYS NOT IN ([exclude_projects])/*[]*/

order by SESS_STATUS,OPER_SYS;

ODI报错/警告/调度异常流程信息相关推荐

  1. 【JDBC】使用c3p0数据库连接池的各种报错警告

    使用c3p0数据库连接池的各种报错警告 使用c3p0数据库连接池的时候,先导入了三个jar包在lib 文件夹中, c3p0-0.9.5.2.jar mchange-commons-java-0.2.3 ...

  2. 数据库连接报错之IO异常(The Network Adapter could not establish the connection)

    数据库连接报错之IO异常(The Network Adapter could not establish the connection) 参考文章: (1)数据库连接报错之IO异常(The Netwo ...

  3. Matlab报错警告: 启动 Connector 时出现问题及解决方案

    报错 警告: 启动 Connector 时出现问题.请确认端口 31415 可用.Did not start the server. Desired port was: 31415. Last err ...

  4. 致远OA,小地球启动报错:读取系统初始化信息失败!

    问题现象: 小地球启动报错:读取系统初始化信息失败!,如下图: 引发原因: 注册表相关键值丢失 解决办法: 恢复同版本的注册表键值或重新安装软件

  5. java sql报错不能catch_java异常(转) - osc_ioa3fr1w的个人空间 - OSCHINA - 中文开源技术交流社区...

    Throwable(所有error和exception的父类:超类) Java将错误变成对象交给异常处理机制 Error(仅靠程序本身无法恢复的严重错误) 一般是环境的问题,JVM的问题,并非程序的问 ...

  6. React18报错警告:You are calling ReactDOMClient.createRoot() on a container that has already been passed

    React18报错警告:You are calling ReactDOMClient.createRoot() on a container that has already been passed ...

  7. php try报错程序中断,php7异常与错误处理和自定义异常

    7.2版本异常与错误的概述 什么叫做异常? 异常是指程序运行中不符合预期情况以及与正常流程不同的状况. 比如你链接数据库,在参数都写上去的条件下,发现链接不上去,这就属于不符合预期. 可以被 try- ...

  8. C语言报错警告合集(转)

    C常见错误 附录1 常见错误中英文对照表 fatal error C1003: error count exceeds number; stopping compilation 中文对照:(编译错误) ...

  9. 【C3P0】解决使用c3p0数据库连接池的各种报错警告: Having failed to acquire a resource, com.mchange.v2.resourcepool

    运行环境 工具: IntelliJ IDEA java version "1.8.0_261" MySQL"5.7.19" 在使用IDEA连接c3p0数据库时, ...

  10. Python,自己修改的爬取淘宝网页的代码 修改Python爬虫,爬取淘宝商品信息也不报错,也不输出信息的错误

    代码部分: 下面是正确的: import requests import redef getHTMLText(url):try:r = requests.get(url, timeout = 30)r ...

最新文章

  1. PCLVisualizer可视化类
  2. 存储器的保护(一)——《x86汇编语言:从实模式到保护模式》读书笔记18
  3. BZOJ-2337-XOR和路径
  4. 吉林大学计算机软件自考英语,吉林大学2010年10月计算机专业自考科目 专业英语(有答案)...
  5. MSP430F5529 DriverLib 库函数学习笔记(五)定时器A
  6. Flask入门之上传文件到本地服务器
  7. Win11语音助手怎么开启 Win11语音助手开启的方法
  8. Linux学习笔记-命名管道(FIFO)
  9. 机器视觉光源学习总结——开孔背光源
  10. 【think server rd340安装windows server 2008 R2 同时安装RAID驱动程序】
  11. 电脑在使用b站的时候插入耳机,耳机没有声音,只能外放,其他软件可以正常使用。
  12. 计算机键盘锁不了怎么办,电脑键盘不能打字_电脑键盘锁住不能打字
  13. 枪林弹雨 该服务器维护中,枪林弹雨登陆BUG解决方法
  14. 磨金石教育学剪辑是正规的教育机构吗?小白学剪辑怎么样?有什么学习方法?
  15. 小学作文批改评语大全
  16. arm体系结构总结笔记10-arm汇编
  17. Dreamweaver 安装 激活
  18. 笔计算机维修,电子计算器常见故障 计算器常用维修方法
  19. Redis如何应对并发访问
  20. 你应该知道的requestIdleCallback

热门文章

  1. 教你使用SQLite Autoincrement(自动递增)
  2. mysql创建用户临时表_mysql创建与删除临时表实例
  3. 计算机主机hs编码,电脑设备的进出口品名
  4. 云杰恒指:9.4恒指期货实盘指导交易复盘
  5. android 锁屏_DashClock是Android的锁屏小部件应具备的功能
  6. RabbitMQ提示ERROR: epmd error for host
  7. 十进制与二进制转换(负数+正数)
  8. 上海交通大学计算机科学与技术招生网,上海交通大学计算机科学与技术研究生招生...
  9. 原来姹紫嫣红开遍 -- 牡丹亭·游园惊梦
  10. 导弹防御系统(LIS+dfs)