在该函数 FuncA 中:
因为在函数中本身是不能有dml *** 作的,但我们可以这样实现,参考下面的 存储过程的实现
SQL>select * from test1
A B
---------- --------------------
1 1
3 3
2 2
SQL>
SQL>CREATE or replace PROCEDURE insert_test
2 as
3 PRAGMA AUTONOMOUS_TRANSACTION
4 BEGIN
5 insert into test1 values(6,6)
6 rollback
7 END
8 /
过程已创建。
SQL>begin
2 insert into test1 values(5,5)
3 insert_test
4 commit
5 end
6 /
PL/SQL 过程已成功完成。
SQL>select * from test1
A B
---------- --------------------
1 1
3 3
2 2
5 5
SQL>
这样在函数中可以进行dml *** 作并提交或者回退
参考这里http://zhidao.baidu.com/browse/93?lm=8960&word=%CA%FD%BE%DD%BF%E2
SELECT * FROM 表名 Awhere a.CreateTime between to_date('2012-10-01 01:00:00','YYYY-MM-DD HH24:MI:SS')
and to_date('2012-10-01 12:00:00','YYYY-MM-DD HH24:MI:SS')
and to_char(CreateTime,'SS') = '00'
-- 秒位上数据为'00'的,这样非00秒比如05,10等其它的就过滤掉了
其它条件根据需要再加
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)