如果我在Oracle中有物化视图,定义为REFRESH FAST ON COMMIT每15分钟一次.它在最初创建和快乐刷新时有效.什么可以导致它停止快速刷新?
我可以看到它已基于此停止刷新:
select mview_name, last_refresh_date from all_mviews;
Run Code Online (Sandbox Code Playgroud) 假设我有一个数据库列应始终为大写.
以下是一些想法:
1)创建一个列约束: col = UPPER(col)
2)创建一个插入/更新前行触发器,设置: col = UPPER(col)
通常,对数据库数据的约束越多越好,并且触发器可能是神秘的和坏的.假设编写代码的开发人员在同一个组织中,因此他们编写的代码可以由我们修改.
你会使用哪种方法?为什么?
它必须是大写的,因为有问题的数据实际上总是大写(它最初是由各种第三方以这种方式打印的).对于此特定字段,大写与小写没有任何意义.
我正在重新设计现有的课程.在这个类中,大约有400行while循环,它完成了大部分工作.循环的主体是if语句,变量赋值的雷区,并且在某个中间有一个"继续".循环的目的很难理解.
在伪代码中,这是我重新设计的地方:
/* Some code here to create the objects based on config parameters */
/* Rather than having if statements scattered through the loop I */
/* create instances of the appropriate classes. The constructors */
/* take a database connection. */
FOR EACH row IN mySourceOfData
int p = batcher.FindOrCreateBatch( row );
int s = supplierBatchEntryCreator.CreateOrUpdate( row, p );
int b = buyerBatchEntryCreator.CreateOrUpdate( row, p );
mySouceOfData.UpdateAsIncludedInBatch( p, s, b);
NEXT
/* Allow things to complete their last …Run Code Online (Sandbox Code Playgroud) 说出于某种原因,我在两个单独的表employee1和employee2中有员工
我只是想把它们加在一起,好像它们堆叠在一起.
就像是:
select all from employee1 and employee2 where name = bubba
Run Code Online (Sandbox Code Playgroud)
我知道即时通讯,这将最终在postgres所以如果有任何细节我应该留意感谢
sql ×2
constraints ×1
join ×1
oracle ×1
oracle10g ×1
plsql ×1
refactoring ×1
triggers ×1
union ×1