BlogJava-程序的优雅之美-随笔分类-数据库http://www.blogjava.net/becky/category/29667.htmlzh-cnMon, 25 Feb 2008 19:04:55 GMTMon, 25 Feb 2008 19:04:55 GMT60一个存储过程http://www.blogjava.net/becky/archive/2006/05/17/46658.htmlBeckyBeckyWed, 17 May 2006 09:35:00 GMThttp://www.blogjava.net/becky/archive/2006/05/17/46658.htmlhttp://www.blogjava.net/becky/comments/46658.htmlhttp://www.blogjava.net/becky/archive/2006/05/17/46658.html#Feedback0http://www.blogjava.net/becky/comments/commentRss/46658.htmlhttp://www.blogjava.net/becky/services/trackbacks/46658.html
create   or   replace   procedure  backup_cl_user  is
  tablename 
varchar2 ( 40 );
  last_date 
varchar2 ( 8 );
  str_sql 
varchar2 ( 500 );
begin
  
select  to_char(sysdate, ' yyyymm ' into  tablename  from  dual;
  tablename:
= ' service_reg_cl_ ' || tablename;
  
select  to_char(sysdate - 60 , ' yyyymmdd ' into  last_date  from  dual;
  str_sql:
= ' insert into  ' || tablename || '  select * from service_reg_cl where state= '' 60H ''  and unreg_date< ''' || last_date || '''   ' ;
  dbms_output.put_line(str_sql);
  
execute  immediate str_sql;
  
commit ;
  
  str_sql:
= ' delete from service_reg_cl where state= '' 60H ''  and unreg_date< ''' || last_date || '''' ;
  dbms_output.put_line(str_sql);  
  
execute  immediate str_sql;
  
commit ;
end  backup_cl_user;

这个存储过程的作用是把表里面60天以前的一些记录搬到另外一张表里面去。我们的设计是每个月一张表,所以表名是要动态生成的,需要用到execute immediate,其他就没有什么了。

Becky 2006-05-17 17:35 发表评论
]]>
SQLServer和Oracle的常用函数http://www.blogjava.net/becky/archive/2006/01/12/27791.htmlBeckyBeckyThu, 12 Jan 2006 09:09:00 GMThttp://www.blogjava.net/becky/archive/2006/01/12/27791.htmlhttp://www.blogjava.net/becky/comments/27791.htmlhttp://www.blogjava.net/becky/archive/2006/01/12/27791.html#Feedback0http://www.blogjava.net/becky/comments/commentRss/27791.htmlhttp://www.blogjava.net/becky/services/trackbacks/27791.html1.绝对值
S:select abs(-1) value
O:select abs(-1) value from dual

2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual

3.取整(小)
S:select floor(-1.001) value
O:select floor(-1.001) value from dual

4.取整(截取)
S:select cast(-1.002 as int) value
O:select trunc(-1.002) value from dual

5.四舍五入
S:select round(1.23456,4) value 1.23460
O:select round(1.23456,4) value from dual 1.2346

6.e为底的幂
S:select Exp(1) value 2.7182818284590451
O:select Exp(1) value from dual 2.71828182

7.取e为底的对数
S:select log(2.7182818284590451) value 1
O:select ln(2.7182818284590451) value from dual; 1

8.取10为底对数
S:select log10(10) value 1
O:select log(10,10) value from dual; 1

9.取平方
S:select SQUARE(4) value 16
O:select power(4,2) value from dual 16

10.取平方根
S:select SQRT(4) value 2
O:select SQRT(4) value from dual 2

11.求任意数为底的幂
S:select power(3,4) value 81
O:select power(3,4) value from dual 81

12.取随机数
S:select rand() value
O:select sys.dbms_random.value(0,1) value from dual;

13.取符号
S:select sign(-8) value -1
O:select sign(-8) value from dual -1

 



Becky 2006-01-12 17:09 发表评论
]]>