Chinaunix首页 | 论坛 | 博客
  • 博客访问: 618526
  • 博文数量: 28
  • 博客积分: 6060
  • 博客等级: 准将
  • 技术积分: 1948
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-03 08:55
文章分类

全部博文(28)

文章存档

2011年(3)

2009年(9)

2008年(16)

我的朋友

分类: Oracle

2008-11-19 11:29:30

   不求每天都有非常大的收获,但是希望每天多多少少有些收获,这样才能对得起自己。今天给大家带来的是两个本人的发现:
 
1、参数fixed_date
 
该参数用来固化sysdate返回值。不会对其它日期型数据产生影响。一般仅仅是用来测试之用,请看下面的demo:
 
 

SQL> show parameter fixed_date

NAME TYPE VALUE
------------------------------------ ----------- ------------------

fixed_date string
SQL> alter system set fixed_date='yyyy-mm-dd hh24:mi:ss';
alter system set fixed_date='yyyy-mm-dd hh24:mi:ss'
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-02078: invalid setting for ALTER SYSTEM FIXED_DATE


SQL> alter system set fixed_Date='1920-01-01';

System altered.

SQL> select sysdate from dual;

SYSDATE
---------

01-JAN-20

 

2、alter session enable|disable commit in procedure.

该语句一般用来在会话级别限制在过程、函数、包中启用或者禁用commit操作。默认情况下是允许在plsql对象中使用commit的,当然trigger例外。

请看以下demo:

 

 

SQL> conn test/test
Connected.
SQL> create or replace procedure p_test as
  2 begin
  3 commit;
  4 end;
  5 /

Procedure created.

SQL> exec p_test;

PL/SQL procedure successfully completed.

SQL> alter session disable commit in procedure;

Session altered.

SQL> exec p_test;
BEGIN p_test; END;

*
ERROR at line 1:
ORA-00034: cannot COMMIT in current PL/SQL session
ORA-06512: at "TEST.P_TEST", line 3
ORA-06512: at line 1

记录下来,便于查阅!

阅读(1909) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~