Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ORACLE ´¿¶È¼¶±ð£¨PURITY£©

PRAGMA RESTRICT_REFERENCES()£¬Õâ¸öPRAGMA±È½Ï¸´ÔÓ£¬ ×ܵÄÀ´Ëµ£¬ËüÊÇÒ»¸ö³ÌÐò¸¨Öú¼ìÑéÂ룬¼ì²é×Ó³ÌÐòµÄ´¿¶È£¨PURITY£©£¬°ïÖú¼ìÑé×Ó³ÌÐòÊÇ·ñÓÐÎ¥·´¹æÔòµÄµØ·½¡£Ò»°ãÓÃÔÚº¯ÊýÉÏ£¬µ«µ±º¯Êýµ÷Óùý³Ìʱ£¬Ò²Òª×÷ÏàÓ¦µÄÉèÖüì²é¡£ÕâÊÇΪÁ˱ÜÃâµ±ÔÚDMLÓï¾äÉϵ÷Óú¯ÊýʱÕý³£Ö´Ðв»ÖÁÓÚ²úÉú´íÎó¡£
    Óï·¨£¬PRAGMA RESTRICT_REFERENCES(function_name | default , )RNDS, WNDS, RNPS, WNPS) | , TRUST);
     RNDS£¬WNDS£¬RNPS£¬WNPS¿ÉÒÔͬʱָ¶¨¡£µ«µ±TRUSTÖ¸¶¨ÊÇ£¬ÆäËüµÄ±»ºöÂÔ¡£
     DEFAUTÊÇÖ¸×÷ÓÃÔڸóÌÐò°üÉϵÄËùÓÐ×Ó³ÌÐò£¬º¯Êý¡£
     RNDS£¨Read No Database State£©£¬¹æ¶¨×Ó³ÌÐò²»ÄܶÁÈ¡ÈκεÄÊý¾Ý¿â״̬ÐÅÏ¢¡£(¼´²»»á²éѯÊý¾Ý¿âµÄÈÎºÎ±í£¬°üÀ¨DUALÐé±í£©
     RNPS£¨Read No Package State£©£¬¹æ¶¨×Ó³ÌÐò²»ÄܶÁÈ¡ÈκγÌÐò°üµÄ״̬ÐÅÏ¢£¬Èç±äÁ¿µÈ¡£
     WNDS£¨Write No Database State£©£¬¹æ¶¨×Ó³ÌÐò²»ÄÜÏòÊý¾Ý¿âдÈëÈκÎÐÅÏ¢¡££¨¼´²»ÄÜÐÞ¸ÄÊý¾Ý¿â±í£©
     WNPS£¨Write No Package State£©£¬¹æ¶¨×Ó³ÌÐò²»ÄÜÏò³ÌÐò°üдÈëÈκÎÐÅÏ¢¡££¨¼´²»ÄÜÐ޸ijÌÐò°ü±äÁ¿µÄÖµ£©
     TRUST£¬Ö¸³ö×Ó³ÌÐòÊÇ¿ÉÒÔÏàÐŵIJ»»áÎ¥·´Ò»¸ö»ò¶à¸ö¹æÔò¡£Õâ¸öÑ¡ÏîÊÇÐèÒªµÄµ±ÓÃC»òJAVAдµÄº¯Êýͨ¹ýPL/SQLµ÷ÓÃʱ£¬ÒòΪPL/SQLÔÚÔËÐÐÊǶÔËüÃDz»Äܼì²é¡£
ʾÀý:
create or replace package purity is
minsal number(6,2);
maxsal number(6,2);
function max_sal return number;
function min_sal return number;
--ÏÞÖÆº¯Êý²»Äܸıä°ü±äÁ¿:WNPS,ÆäËüµÄ»¹ÓÐ
pragma restrict_references(max_sal,wnps);
pragma restrict_references(min_sal,wnps);
end;
create or replace package body purity is
function max_sal return number
as
begin 
--select max(sal) into maxsal from emp;
--¼ÓÉÏÃæÕâÐж԰ü±äÁ¿½øÐиıä,ÔòÌáʾ"Î¥·´Ïà¹Ø±àÒëָʾ"
return maxsal;
end;
function min_sal return number
as
begin 
--select min(sal) into minsal from emp;
--¼ÓÉÏÃæÕâÐж԰ü±äÁ¿½øÐиıä,ÔòÌáʾ"Î¥·´Ïà¹Ø±àÒëָʾ"
return minsal;
end;
--¹¹Ô캯Êý
--д¹¹Ô캯Êý¹¹Ôì±äÁ¿Ê±,BEGIN¿ªÊ¼,¹²ÓðüÌå½áÊøµÄEND;±êÖ¾
begin
select min(sal),max(sal) into minsal,maxsal from em


Ïà¹ØÎĵµ£º

oracle systemÃÜÂëÍü¼Ç½â¾ö

1.ÓÃOracleÓû§µÇ½Linux·þÎñÆ÷;
2.ÔÚÖÕ¶Ë´°¿ÚÊäÈë sqlplus /nolog
   [oracle@hylinux ~]$ sqlplus /nolog
    SQL*Plus: Release 10.2.0.1.0 - Production on ÐÇÆÚ¶þ 7ÔÂ 29  14:26:16 2008
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
& ......

oracle instr


¶ÔÓÚinstrº¯Êý£¬ÎÒÃǾ­³£ÕâÑùʹÓ㺴ÓÒ»¸ö×Ö·û´®ÖвéÕÒÖ¸¶¨×Ó´®µÄλÖá£Àý
È磺
SQL> select
instr('yuechaotianyuechao','ao') position from dual;
 
  POSITION
----------
        
6
 
´Ó×Ö·û´®'yuechaotianyuechao'µÄµÚÒ»¸öλÖÿªÊ¼£¬Ïòºó² ......

oracle µÄ left/right joinÓë(+)µÄÒ»¸öÇø±ð

»ù±¾´ÓÀ´²»ÓÃleft/right join
Ò»¸öÏîÄ¿±»ÆÈÒªÓñðÈËдµÄ sql
±¾´òËã¸ÄдһÏ£¬Ìá¸ßЧÂÊ
·¢ÏÖ£º
¡¾1¡¿
select * from  a
left outer join  b on a.id= b.id AND ...1...
 where ...2...
Óë
¡¾2¡¿
select * from  a , b 
 where a.id= b.id(+)
A ......

Ö´ÐÐcommitʱoracle×öÄÄЩ¹¤×÷

COMMITÊÇÒ»¸ö·Ç³£¿ìµÄ²Ù×÷£¬µ±ÎÒÃÇ·¢²¼commitÃüÁîʱ£¬ÕæÕýÀ§Äѵ͝×÷ÒѾ­Íê³É£¬
ÔÚÊý¾Ý¿âÖÐÒѾ­Ö´ÐÐÁËÊý¾Ý¸ü¸Ä£¬ËùÒÔÒѾ­Íê³ÉÁË99%µÄÈÎÎñ£¬ÀýÈ磺ÏÂÁвÙ×÷ÒѾ­²úÉú£º
 
      1.ÔÚSGA(Buffer Cache)ÖÐÒѾ­Éú³ÉÁËundo¿é£»
      2.ÔÚSGA(Buffer Cache)ÖÐÒѾ­Éú³ ......

OracleÖаÑyyyy mm ddת³ÉyyyyÄêmmÔÂddÈÕ


SQL> select   to_char(sysdate,'yyyy')||'Äê'||to_char(sysdate,'mm')||'ÔÂ'||to_char(sysdate,'dd')||'ÈÕ'  from   dual;
TO_CHAR(SYSDATE,'YYYY')||'Äê'|
»òÕßʹÓÃË«ÒýºÅ
select to_char(add_months(trunc(sysdate),-1),'yyyy"Äê"mm"ÔÂ"') from dual    È¡ÉϸöÔ·Ý
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ