JQuery — Post、Get回调函数、捕获异常等

我们在使用jquery ajax方法时,会用到$.post、$.get方法,但参数只有3个:请求URL、传递参数、成功后事件,如果想再加一个捕获异常的回调参数,且不想用$.ajax(….)时,可以这样写:$.post(…).error(function(){…});,当地址返回404、500等异常时,会执行error里面的代码。

下面附上其他的回调方法。

    
    var jqxhr = $.post("example.php", { code: code }, function() {
      alert("success");    //成功回调
    })
    .success(function() { alert("second success"); })    //成功回调第二个方法
    .error(function() { alert("error"); })               //异常回调(ex:500、404)
    .complete(function() { alert("complete"); });        //完成调用事件(完成后最终执行)

    // 在这里执行其他任务.
    // 为上面的请求设置另一个完成函数.
    jqxhr.complete(function(){ alert("second complete"); });

Oracle 锁表解除

首先执行下面的查询语句,查询出锁表信息。

select * from v$session t1
inner join v$locked_object t2
on t1.sid = t2.session_id

将查出的SID和serial#字段的值赋予下面语句,逗号分割。

alter system kill session '【SID】,【serial#】';

Oracle数据库的内置定时任务

想要使用Oracle自带的定时计划,来固定每过一段时间执行一次固定的SQL语句,按照如下操作进行设置。

1. 首先创建一个存储过程(必须是存储过程,在设置定时任务时直接写SQL语句会不执行)

create or replace procedure proc_changesettings
as
begin
delete from tb_f_record where id = 0;
commit;
exception
when others then
rollback;
end;

2. 执行创建定时任务SQL语句,dbms_job.submit第二个参数就是存储过程名称

declare
  JOB number;
begin
  dbms_job.submit(JOB, 'proc_changesettings;', sysdate ,'TRUNC(sysdate,''mi'') + 1/ (24*60)');    --1分钟一次
  commit;
  DBMS_JOB.RUN(JOB); 
end;

以上就创建好了,可以使用下面的SQL语句进行查询

select job,broken,what,interval,t.* from user_jobs t; 

另外,当定时任务不再使用时,通过如下SQL语句来删除,参数job是表user_jobs的job字段

begin dbms_job.remove(job); end;

Oracle 查询时将结果为负数的转换为0 取最大值、最小值[Greatest、least]函数

我们在做数据库统计时往往会遇到查询列是计算出来的,例如查询两公司销售差额等。最近有一个这样的需求:将计算后的结果为负数的改为0,一般来讲我们会直接使用【case when then else end】这样的操作,但是当你计算的公式很长很长的时候,你肯定不想弄两遍公式吧,一个是sql显得臃肿不美观,另外一个数据库处理速度相对也会影响。

这时推荐Oracle的两个函数:取最大值(Greatest)最小值(Least)

这里举个例子,有表t1、t2都有result字段,先将result为空的转换为0,再t2-t1得出结果,如果为负数取0。
一般我们这么写:

select (case when 
(t2.result - t1.result) < 0 
then 0 else
(
  (case when t2.result is null then 0 else t2.result end) - 
  (case when t1.result is null then 0 else t1.result end)
) end) result from t1, t2

用函数的话就是这样子:

select greatest(t2.result - t1.result, 0) result from t1, t2

示例是用的取最大值函数,还有least取最小值函数用法是一样的就不写例子了。

第 2 页,共 11 页12345...10...最旧 »