OracleÖÐͳ¼ÆÆõºÏijÁÐÌõ¼þµÄÁÐ×ܺÍ
×î½üÔÚÏîÄ¿±¨±íÖÐÐèÒªÒ»¸ö²éѯÓï¾ä£¬ÓÃÀ´Í³¼Æ·ûºÏijһÁÐÌõ¼þµÄÆäËü¼¸ÁеĸöÊý
±ÈÈçÓÐÏÂÃæÒ»¸ö±í½á¹¹£º
ÐèÒªÔÚÁÐDºóÃæÔö¼ÓÒ»ÁУ¬Í³¼ÆÔÚÁÐA²»Îª¿Õ£¬²¢ÇÒÁÐB¡¢C¡¢D²»Îª¿ÕµÄ¸öÊý
¾¹ý×Ô¼ºÊÔÑ飬²éÕÒ°ïÖú£¬×ÜËãʵÏÖÁËÉÏÃæµÄ²éѯ¡£
Ê×ÏȽ²¼¸¸öº¯ÊýµÄÓ÷¨£º
NULL£ºÖ¸µÄÊÇ¿ÕÖµ£¬»òÕß·Ç·¨Öµ¡£
NVL (expr1, expr2)
²ÎÊý˵Ã÷£ºÈç¹ûexpr1ΪNULL£¬·µ»Øexpr2£»²»ÎªNULL£¬·µ»Øexpr1¡£×¢ÒâÁ½ÕßµÄÀàÐÍÒªÒ»ÖÂ
NVL2 (expr1, expr2, expr3)
²ÎÊý˵Ã÷£ºÈç¹ûexpr1²»ÎªNULL£¬·µ»Øexpr2£»ÎªNULL£¬·µ»Øexpr3¡£expr2ºÍexpr3ÀàÐͲ»Í¬µÄ»°£¬expr3»áת»»Îªexpr2µÄÀàÐÍ
NULLIF (expr1, expr2)
²ÎÊý˵Ã÷£ºÈç¹ûÏàµÈ·µ»ØNULL£¬²»µÈ·µ»Øexpr1
ÏÂÃæÊDZ¾ÈËͨ¹ýÁ½ÖÖ·½·¨ÊµÏֵĽá¹û
·½·¨Ò»£º
´úÂë
1 Select a,
2 b,
3 c,
4 d,
5 Case
6 When a Is Not Null Then
7 Nvl2(b, 1,0) + Nvl2(c, 1,0) + Nvl2(d, 1,0)
8 Else
9 0
10 End E
11 from AA
·½·¨¶þ£º
´úÂë
1 Select a,
2 b,
3 c,
4
Ïà¹ØÎĵµ£º
SQL*Loader ÓÃÓÚ½«´óÁ¿Êý¾Ý×°ÈëÊý¾Ý¿â¡£
¢Å¡¢¶¨¿íÊý¾Ý
´´½¨Êý¾ÝÎļþcontrol.txt£º
aaa,bbb
ccc,ddd
eee,fff
´´½¨¿ØÖÆÎļþcontrol.ctl£º
load data
infile 'c:\loader.txt'
append
into table tester.mm(
m1 position(1:3) char,
m2 position(5:7) char)
ÅúÁ¿¼ÓÔØÊý¾Ý£º
sqlldr tester/test control=c:\loade ......
1.¶à°æ±¾£º¶ÁÒ»Ö²éѯ ·Ç×èÈû²éѯ
Oracle ²ÉÓÃÁËÒ»ÖÖ
¶à°æ±¾¡¢¶ÁÒ»Ö£¨read-consistent£©µÄ²¢·¢Ä£ÐÍ¡£ÔÙ´Î˵Ã÷£¬ÎÒÃǽ«ÔÚµÚ7 Õ¸üÏêϸµØ½éÉÜÓйصļ¼Êõ¡£
²»¹ý£¬ÊµÖÊÉϽ²£¬Oracle ÀûÓÃÕâÖÖ»úÖÆÌṩÁËÒÔÏÂÌØÐÔ£º
¶ÁÒ»Ö²éѯ£º¶ÔÓÚÒ»¸öʱ¼äµã£¨point in time£©£¬²éѯ»á²úÉúÒ»ÖµĽá¹û¡£
·Ç×èÈû²éѯ£º²éѯ²»» ......
1.Êý¾Ý¿â¶ÀÁ¢ÐÔ
½«Ó¦ÓôÓÊý¾Ý¿âA ÒÆÖ²µ½Êý¾Ý¿âB ʱ£¬ÎÒʱ³£Óöµ½ÕâÖÖÎÊÌ⣺ӦÓÃÔÚÊý¾Ý¿âA ÉÏÔ±¾ÎÞи¿É»÷£¬µ½ÁË
Êý¾Ý¿âB ÉÏÈ´²»Äܹ¤×÷£¬»òÕß±íÏֵúÜÀëÆæ¡£¿´µ½ÕâÖÖÇé¿ö£¬ÎÒÃǵĵÚÒ»¸öÏë·¨ÍùÍùÊÇ£¬Êý¾Ý¿âB ÊÇÒ»¸ö
“²»ºÃµÄ”Êý¾Ý¿â¡£¶øÕæÕýµÄÔÒòÆäʵÊÇÊý¾Ý¿âB µÄ¹¤×÷·½Ê½ÍêÈ«²»Í¬¡£Ã»ÓÐÄĸöÊý¾Ý¿âÊÇ´íµÄ ......
--JOBS
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT(job => X,
what => 'sp_test();',
next_date => to_date('28-04-2009 11:58:00',
'dd/mm/yyyy hh24:mi:ss'),
interval => 'SYSDATE+1');
END;
/
commit;
select to_char(sysdate-90,'yyyymmdd') from dual; --Ñ¡ÔñÈÕÆÚ
select * from ......
ORACLE
CREATE OR REPLACE FUNCTION SETSTATE(OLDVALUE VARCHAR2, POS NUMBER, SVALUE VARCHAR2)
RETURN VARCHAR2
IS
RETURN_VALUE VARCHAR2 (20);
LEN NUMBER(8);
I NUMBER(8);
TEMP_VALUE VARCHAR2(1);
BEGIN
LEN := LENGTH(OLDVALUE);
IF POS > ......