解决方案 »
- 安装VS2005会导致oracle11G无法登陆本地数据库,原因是监听配置问题?
- oracle 关于空值的咨询
- ora-12500TNS无法启动专用服务器进程
- 请问:oracle9i数据库日志文件总被改成只读是怎么回事?改成只读后每次不能自动启动,会报错。
- oracle10g客户端与软件打包的问题?
- 在WINDOW2000 advance server +sp4 安装oracle 10g
- windows2003server+oracle10g用http://server:5500/em进入后进行备份时,出现主机身份证明问题.
- 其他电脑连Oracle,提示无监听程序,重启Oracle服务器就好了,过段时间又提示无监听程序
- KingSunSha(弱水三千),轻轻来又轻轻走,为什么不留个通讯方式!
- oracle817时间问题
- win8.1专业版Database Upgrade Assistant的问题。
- 字符串中的数字规则替换问题
begin
delete from view_log;
insert into view_log
select * from A WHERE FLAG = 'N';
UPDATE TABLE A SET FLAG = 'Y';
COMMIT;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.put_line('Error Happened!!');
end test;--通过job调用存储过程定时执行
declare
job1 number;
begin
sys.dbms_job.submit(job => :job1,
what => 'test;',
next_date => sysdate,
interval => 'trunc(sysdate)+1'); --每天凌晨执行
commit;
end;
/
begin
delete from view_log;
insert into view_log
select * from A WHERE FLAG = 'N';
UPDATE TABLE A SET FLAG = 'Y';
COMMIT;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.put_line('Error Happened!!');
end test;--通过job调用存储过程定时执行
declare
job1 number;
begin
sys.dbms_job.submit(job => :job1,
what => 'test;',
next_date => sysdate,
interval => 'trunc(sysdate)+1'); --每天凌晨执行
commit;
end;
/
UPDATE TABLE A SET FLAG = 'Y';
忙中出错吧,把table去掉
UPDATE A SET FLAG = 'Y';
有个建议: insert into view_log select * from A WHERE FLAG = 'N';
UPDATE TABLE A SET FLAG = 'Y';以上两句,改成如下,原因1.减小 undo 和 redo 。 原因2.以防中间有新数据写入 A 表,造成 view_log 数据不完整
insert into view_log select * from A WHERE FLAG = 'N';
UPDATE TABLE A SET FLAG = 'Y' where ID in (select ID from view_log )
4楼说的可行,防止中间新写入数据,导致数据不一致create or replace procedure test
is
begin
delete from view_log;
insert into view_log
select * from A WHERE FLAG = 'N';
UPDATE A SET FLAG = 'Y' where ID in (select ID from view_log );
COMMIT;
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.put_line('Error Happened!!');
end test;
执行时做个计划任务就行了,定时每天执行