ORACLE·ÖÎöº¯ÊýµÄÓ÷¨
¿ª´°º¯ÊýµÄµÄÀí½â£º
¿ª´°º¯ÊýÖ¸¶¨ÁË·ÖÎöº¯Êý¹¤×÷µÄÊý¾Ý´°¿Ú´óС£¬Õâ¸öÊý¾Ý´°¿Ú´óС¿ÉÄÜ»áËæ×ÅÐеı仯¶ø±ä»¯£¬¾ÙÀýÈçÏ£º
over£¨order by salary£© °´ÕÕsalaryÅÅÐò½øÐÐÀۼƣ¬order byÊǸöĬÈϵĿª´°º¯Êý
over£¨partition by deptno£©°´ÕÕ²¿ÃÅ·ÖÇø
over£¨order by salary range between 50 preceding and 150 following£©
ÿÐжÔÓ¦µÄÊý¾Ý´°¿ÚÊÇ֮ǰÐзù¶ÈÖµ²»³¬¹ý50£¬Ö®ºóÐзù¶ÈÖµ²»³¬¹ý150
over£¨order by salary rows between 50 preceding and 150 following£©
ÿÐжÔÓ¦µÄÊý¾Ý´°¿ÚÊÇ֮ǰ50ÐУ¬Ö®ºó150ÐÐ
over£¨order by salary rows between unbounded preceding and unbounded following£©
ÿÐжÔÓ¦µÄÊý¾Ý´°¿ÚÊÇ´ÓµÚÒ»Ðе½×îºóÒ»ÐУ¬µÈЧ£º
over£¨order by salary range between unbounded preceding and unbounded following£©
Ö÷Òª²Î¿¼×ÊÁÏ£º¡¶expert one-on-one¡· Tom Kyte ¡¶Oracle9i SQL Reference¡·µÚ6ÕÂ
AVG
¹¦ÄÜÃèÊö£ºÓÃÓÚ¼ÆËãÒ»¸ö×éºÍÊý¾Ý´°¿ÚÄÚ±í´ïʽµÄƽ¾ùÖµ¡£
SAMPLE£ºÏÂÃæµÄÀý×ÓÖÐÁÐc_mavg¼ÆËãÔ±¹¤±íÖÐÿ¸öÔ±¹¤µÄƽ¾ùнˮ±¨¸æ£¬¸Ãƽ¾ùÖµÓɵ±Ç°Ô±¹¤ºÍÓëÖ®¾ßÓÐÏàͬ¾ÀíµÄǰһ¸öºÍºóÒ»¸öÈýÕߵį½¾ùÊýµÃÀ´£»
SELECT manager_id, last_name, hire_date, salary,
AVG(salary) OVER (PARTITION BY manager_id ORDER BY hire_date
ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) AS c_mavg
from employees;
MANAGER
Ïà¹ØÎĵµ£º
ѧϰOracle DBAÒ²°ë¸ö¶àѧÆÚÁË£¬½ñÌìÃÍÈ»²Å·¢ÏÖ£¬ÔÀ´ÎÒµÄÊ黹ÊǺÜеģ¬ÉϿβÙ×÷ʱºòÒ²Ö»ÊÇÖªµÀ´ó¸ÅÔõô×ö£¬µ«ÊÇÒªÕæµÄÈ«²¿×Ô¼º×ö£¬¶ø²»È¥·Ê黹ÊÇÓÐÒ»¶¨µÄÄѶȵģ¬ËùÒÔÄØ£¬½ñÌ쿪ʼ½«DBA´ÓÍ·¸´Ï°Ò»±é£¬Í¬Ê±ÔÙ²Ù×÷Ò»±é¡£
µÚÒ»Õ£¬Ñ§µÄÊÇOracleµÄÌåϵ½á¹¹£ ......
OracleÒì³£·ÖΪ3ÖÖ:
(1)Ô¤¶¨ÒåÒì³£:no_data_foundµÈ,ÊÇOracleϵͳ¶¨ÒåµÄÒì³£.
declare
s_test varchar2
begin
select id into s_test from test; --´Ëʱtest±íÎÞÊý¾Ý
exception
when no_data_found then
raise_application_error(-20001, 'ûÓÐÊý¾Ý');
end;
(2)×Ô¶ ......
»ù´¡±í(Driving Table)ÊÇÖ¸±»×îÏÈ·ÃÎʵıí(ͨ³£ÒÔÈ«±íɨÃèµÄ·½Ê½±»·ÃÎÊ). ¸ù¾ÝÓÅ»¯Æ÷µÄ²»Í¬, SQLÓï¾äÖлù´¡±íµÄÑ¡ÔñÊDz»Ò»ÑùµÄ.
Èç¹ûÄãʹÓõÄÊÇCBO (COST BASED OPTIMIZER),ÓÅ»¯Æ÷»á¼ì²éSQLÓï¾äÖеÄÿ¸ö±íµÄÎïÀí´óС,Ë÷ÒýµÄ״̬,È»ºóÑ¡Óû¨·Ñ×îµÍµÄÖ´Ðз¾¶.
Èç¹ûÄãÓÃRBO (RULE BASED OPTIMIZER) , ²¢ÇÒËùÓеÄÁ¬½ÓÌõ¼þ¶ ......
ºÎΪÉÁ»Ø»Ö¸´Çø
Oracle 10g ÓÐÒ»Ïîй¦ÄܳÆÎª:×Ô¶¯µÄ»ùÓÚ´ÅÅ̵ı¸·ÝÓë»Ö¸´( Automatic Disk-Based Backup and Recovery )¡£ÊµÏָù¦ÄܵĻù´¡Îª±¾ÎÄÒª½²ÊöµÄÉÁ»Ø»Ö¸´Çø( Flash Recovery Area )¡£ÉÁ»Ø»Ö¸´ÇøÊÇ Oracle 10g ÖеÄÐÂÊÂÎï¡£¼òµ¥µÄ˵£¬ÉÁ»Ø»Ö¸´ÇøÊÇÒ»¿éÓÃÒÔ´æ´¢»Ö¸´Ïà¹ØµÄÎļþµÄ´æ´¢¿Õ¼ä¡£ÔÊÐíÓû§¼¯Öд洢ËùÓлָ ......
ÔÚsqlÓï¾äÖÐÉæ¼°µ½Ê±¼äÀàÐÍʱ ÈôÖ»ÏëÒªÈÕÆÚ to_date('2007-7-8','yyyy-mm-dd')
ÔÚC#ÖÐÓÐdatetimeÀàÐÍ£¬´úÂë˵Ã÷Ò»ÇÐ
DateTime dt = System.DateTime.Now;
string lsh;
lsh=string.Format("{0:yyyyMMddHHmmss}", dt);
DateTime dt = DateTime.Now;
Label1.Text = dt.To ......