Ò»¸öOracle×Ô¶¨Òå¾Û¼¯º¯ÊýµÄÀý×Ó
ǰÌìÓÐÈËÌáÁËÐèÇó£¬Ïë¶Ôij¸ö×ֶνøÐа´Î»µÄ»ò²Ù×÷¡£±¾À´½¨Òé²éѯ³öÀ´Ö®ºóÔÚÓ¦ÓóÌÐòÀïÃæ´¦Àí£¬µ«ÊÇÊý¾ÝÁ¿±È½Ï´ó£¬¾õµÃ»¹ÊÇ·µ»ØÒ»¸ö·Ö×鼯ËãÖ®ºóµÄÖµ±È½ÏºÏÊÊ¡£
Á½¸öÎÊÌ⣬һ¸öÊǰ´Îª»òµÄ²Ù×÷£¬Õâ¸ö²Î¿¼Á˱ðÈ˵ÄÎĵµ£¬ÓÃbitandº¯ÊýʵÏÖ¡£ ÔÎÄÈçÏ£º
http://blog.chinahr.com/blog/hewy0526/post/112968
È»ºó¾ÍÊÇ×Ô¶¨ÒåµÄ¾Û¼¯º¯ÊýÁË¡£Õâ¸ö²Î¿¼Á˹ٷ½ÎĵµµÄÀý×Ó£¬¾Í²»ÁгöÔÎijö´¦ÁË¡£
È«²¿´úÂëÈçÏ£º
-- 1. Implement the type BitOrImpl to contain the ODCIAggregate routines:
create type BitOrImpl as object
(
bitorval NUMBER, -- result.
static function ODCIAggregateInitialize(sctx IN OUT BitOrImpl)
return number,
member function ODCIAggregateIterate(self IN OUT BitOrImpl,
value IN number) return number,
member function ODCIAggregateTerminate(self IN BitOrImpl,
returnValue OUT number, flags IN number) return number,
member function ODCIAggregateMerge(self IN OUT BitOrImpl,
ctx2 IN BitOrImpl) return number
);
/
-- 2. mplement the type body for BitOrImpl:
create or replace type body BitOrImpl is
static function ODCIAggregateInitialize(sctx IN OUT BitOrImpl)
return number is
begin
sctx := BitOrImpl(0);
return ODCIConst.Success;
end;
member function ODCIAggregateIterate(self IN OUT BitOrImpl, value IN number) return number is
begin
self.bitorval := (self.bitorval + value) - bitand(self.bitorval, value);
return ODCIConst.Success;
end;
member function ODCIAggregateTerminate(self IN BitOrImpl,
returnValue OUT number, flags IN number) return number is
begin
returnValue := self.bitorval;
return ODCIConst.Success;
end;
member function ODCIAggregateMerge(self IN OUT BitOrImpl, ctx2 IN BitOrImpl) return number is
begin
self.bitorval := (self.bitorval + ctx2.bitorval) - bitand(self.bitorval, ctx2.bitorval);
return ODCIConst.Success;
end;
end;
/
-- 3. Create the user-defi
Ïà¹ØÎĵµ£º
½ñÌìÔÚÒ»±¾ÊéÉÏ¿´µ½µÄ£¬¸Ð¾õͦȫµÄ¡£Ó¡ÏóÖÐ×Ô¼ºÒѾ²»ÖªµÀ°Ù¶ÈÁ˶àÉÙ´ÎÕâ¸öÎÊÌ⣬½ñÌì¾Í¼ÇÏÂÀ´°É£¬·½±ãÒÔºó²éѯ¡£
Êý¾Ý¿âд½ø³ÌÔÚÒÔÏÂʼþÖ®Ò»·¢Éúʱ°ÑÊý¾Ý¿â¸ßËÙ»º³åÇøµÄÊý¾Ýдµ½Êý¾ÝÎļþÉÏ:
µ±Ô໺³åÇøµÄÊýÁ¿³¬¹ýÁËËùÉ趨µÄÏÞ¶î
µ±ËùÉ趨µÄʱ¼ä¼ä¸ôÒѵ½
µ±Óнø³ÌÐèÒªÊý¾Ý¿â¸ßËÙ»º³åÇøÈ´ÕÒ²»µ½¿ÕÏеĻº³åÇøÊ±
µ±¼ì²éµ ......
sql server
Ìæ»»null:isnull(arg,value)
Èç:select isnull(price,0.0) from orders ,Èç¹ûpriceΪnullµÄ»°£¬ÓÃ0 ......
¡¡¡¡¿Í»§ÓõÄÊý¾Ý¿âÊÇmysql£¬¶øÑз¢ºÃµÄ²úÆ·Ö§³Öoracle£¬ÎªÁËÈÿͻ§ÌÍÑü°ü£¬ÎÒÃDZØÐë°ÑÊý¾Ý¿â»·¾³´ÓoracleתÏòmysql¡£ÎÒÃÇÔÚת»»µÄ¹ý³ÌÖÐÅöµ½ÁËÏÂÃæÒ»Ð©ÎÊÌ⣬ϣÍûÄܸøÍ¬ÑùÔâÓöµÄͬÈÊÃÇһЩ½è¼ø¡£Èç¹ûÎÒÃÇÔÚ×î³õµÄÉè¼Æ¡¢±àÂë¹ý³ÌÖÐ×¢ÒâÊý¾Ý¿âµÄÒÆÖ²ÐÔ£¬ÕâÖÖÇé¿öÏ¿ÉÒÔÍêÈ«²»ÐèÒª×÷¶îÍ⹤×÷¡£
¡¡¡¡Ò»¡¢Êý¾Ý¿â»·¾³´Óoracleת ......
OracleµÄsql*plusÊÇÓëoracle½øÐн»»¥µÄ¿Í»§¶Ë¹¤¾ß¡£ÔÚsql*plusÖУ¬¿ÉÒÔÔËÐÐsql*plusÃüÁîÓësql*plusÓï¾ä¡£
ÎÒÃÇͨ³£Ëù˵µÄDML¡¢DDL¡¢DCLÓï¾ä¶¼ÊÇsql*plusÓï¾ä£¬ËüÃÇÖ´ÐÐÍêºó£¬¶¼¿ÉÒÔ±£´æÔÚÒ»¸ö±»³ÆÎªsql bufferµÄÄÚ´æÇøÓòÖУ¬²¢ÇÒÖ»Äܱ£´æÒ»Ìõ×î½üÖ´ÐеÄsqlÓï¾ä£¬ÎÒÃÇ¿ÉÒÔ¶Ô±£´æÔÚsql bufferÖеÄsql Óï¾ä½øÐÐÐ޸ģ¬È»ºóÔÙ´ ......