/// <summary>
/// Êý¾Ý·ÃÎÊ»ù´¡Àà(»ùÓÚOracle)
/// Copyright (C) 2008-2009 С±¿µ°
/// </summary>
public abstract class DbHelperOra
{
//Êý¾Ý¿âÁ¬½Ó×Ö·û´®(web.configÀ´ÅäÖÃ)£¬¿ÉÒÔ¶¯Ì¬¸ü¸ÄconnectionStringÖ§³Ö¶àÊý¾Ý¿â.
public static string connectionString = PubConstant.ConnectionString;
public DbHelperOra()
{
}
#region Ö´Ðмòµ¥SQLÓï¾ä
/// <summary>
/// Ö´ÐÐSQLÓï¾ä£¬·µ»ØÓ°ÏìµÄ¼Ç¼Êý
/// </summary>
/// <param name="SQLString">SQLÓï¾ä</param>
/// <returns>Ó°ÏìµÄ¼Ç¼Êý</returns>
public static int ExecuteSql(string SQLString)
{
using (OracleConnection connection = new OracleConnection(connectionString))
{
using (OracleCommand cmd = new OracleCommand(SQLString,connection))
{
try
{
connection.Open();
int rows=cmd.ExecuteNonQuery();
return rows;
}
catch(System.Data.OracleClient.OracleException E)
......
Ò»¡¢oracle11gÊý¾Ý¿âÆóÒµ°æ
OracleÊý¾Ý¿â11gÆóÒµ°æ»ùÓÚÔËÐÐWindows¡¢LinuxºÍUNIXµÄ¼¯Èº·þÎñÆ÷»òµ¥Ò»·þÎñÆ÷Ìṩҵ½çÁìÏȵÄÐÔÄÜ¡¢¿ÉÉìËõÐÔ¡¢°²È«ÐԺͿɿ¿ÐÔ¡£ ËüÌṩÁËÈ«ÃæµÄ¹¦ÄÜÀ´ÇáËɹÜÀíÒªÇó×îÑϸñµÄÊÂÎñ´¦Àí¡¢ÉÌÎñÖÇÄܺÍÄÚÈݹÜÀíÈí¼þ¡£
OracleÊý¾Ý¿â11gÆóÒµ°æÌṩÁËÖÚ¶àÑ¡¼þÀ´ÔöǿȫÇòÅÅÃûµÚÒ»µÄÊý¾Ý¿âµÄ¹¦ÄÜ£¬ÒÔ°ïÖúÆóÒµ·¢Õ¹ÒµÎñ£¬²¢´ïµ½Óû§ÆÚÍûµÄÐÔÄÜ¡¢°²È«ÐԺͿÉÓÃÐÔ·þÎñˮƽ¡£
Ö÷ÒªÒæ´¦
1¡¢·ÀÖ¹·þÎñÆ÷¹ÊÕÏ¡¢Õ¾µã¹ÊÕϺÍÈËΪ´íÎóµÄ·¢Éú£¬²¢¼õÉÙÁ˼ƻ®ÄÚµÄå´»úʱ¼ä
ÀûÓÃÐм¶°²È«ÐÔ¡¢Ï¸Á£¶ÈÉ󼯡¢Í¸Ã÷µÄÊý¾Ý¼ÓÃܺÍÊý¾ÝµÄÈ«Ãæ»ØÒäÈ·±£Êý¾Ý°²È«ºÍ×ñÊØ·¨¹æ
2¡¢¸ßÐÔÄÜÊý¾Ý²Ö¿â¡¢ÔÚÏß·ÖÎö´¦ÀíºÍÊý¾ÝÍÚ¾ò
3¡¢ÇáËɹÜÀí×î´óÐÍÊý¾Ý¿âÐÅÏ¢µÄÕû¸öÉúÃüÖÜÆÚ
¶þ¡¢oracle11gÊý¾Ý¿â±ê×¼°æ
oracle11g±ê×¼°æ
°üÀ¨ÕæÕýÓ¦Óü¯Èº
OracleÊý¾Ý¿â11g±ê×¼°æÊÇÒ»¿î¼Û¸ñºÏÀí¡¢¹¦ÄÜÈ«ÃæµÄÊý¾Ý¿â£¬ÊÊÓÃÓÚ¶à´ïËĸö²å²ÛµÄ·þÎñÆ÷¡£Ëüͨ¹ýÕæÕýÓ¦Óü¯ÈºÊµÏÖÁ˸߿ÉÓÃÐÔ£¬ÌṩÁËÆóÒµ¼¶ÐÔÄܺͰ²È«ÐÔ£¬Ò×ÓÚ¹ÜÀí²¢¿ÉËæÐèÇóµÄÔö³¤ÇáËÉÀ©Õ¹¡£Ëü»¹¿ÉÏòÉϼæÈÝÆóÒµ°æ£¬²¢ËæÆóÒµµÄ·¢Õ¹¶øÀ©Õ¹£¬´Ó¶ø±£»¤ÆóÒµµÄ³õÆÚͶ×Ê¡£
Á˽âÄúÈçºÎÄÜͨ¹ýOracle Safe Switch¼Æ»®Ó÷ÇOracleÊý¾Ý¿â»»¹º ......
ÎïÀíÉÏ´æ·ÅÓÚÍøÂçµÄ¶à¸öORACLEÊý¾Ý¿â£¬Âß¼ÉÏ¿ÉÒÔ¿´³ÉÒ»¸öµ¥Ò»µÄ´óÐÍÊý¾Ý¿â£¬Óû§¿ÉÒÔͨ¹ýÍøÂç¶ÔÒìµØÊý¾Ý¿âÖеÄÊý¾Ý½øÐдæÈ¡£¬¶ø·þÎñÆ÷Ö®¼äµÄ
Ðͬ´¦Àí¶ÔÓÚ¹¤×÷Õ¾Óû§¼°Ó¦ÓóÌÐò¶øÑÔÊÇÍêȫ͸Ã÷µÄ£¬¿ª·¢ÈËÔ±ÎÞÐè¹ØÐÄÍøÂçµÄÁ´½Óϸ½Ú¡¢Êý¾ÝÔÚÍøÂç½ÚµãÖеľßÌå·Ö²¼Çé¿öºÍ·þÎñÆ÷¼äµÄе÷¹¤×÷¹ý³Ì¡£
Êý¾Ý¿âÖ®¼äµÄÁ´½Ó½¨Á¢ÔÚDATABASE LINKÉÏ¡£Òª´´½¨Ò»¸öDATABASE LINK£¬±ØÐëÊ×ÏÈÔÚ½¨Á¢Á´½ÓµÄÊý¾Ý¿âÉÏÉèÖÃÁ´½Ó×Ö·û´®£¬¼´ÅäÖÃÒ»¸öÔ¶³ÌÊý¾Ý¿âµÄ±¾µØÍøÂç·þÎñÃû¡£
Á´½Ó×Ö·û´®µÄÅäÖòμû¡¶¿Í»§¶ËÁ¬½Ó·þÎñÆ÷¡·Ò»½Ú¡£
Êý¾Ý¿âÈ«¾ÖÃû³Æ¿ÉÒÔÓÃÒÔÏÂÃüÁî²é³ö£º
SELECT * from GLOBAL_NAME;
Ð޸ĿÉÒÔÓÃÒÔÏÂÓï¾äÀ´Ð޸IJÎÊýÖµ£º
ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE;
<1>¡¢µ±Êý¾Ý¿â²ÎÊýglobal_name=falseʱ£¬¾Í²»ÒªÇóÊý¾Ý¿âÁ´½ÓÃû³Æ¸úÔ¶¶ËÊý¾Ý¿âÃû³ÆÒ»Ñù¡£
oracleÊý¾Ý¿âÖ®¼ä½øÐÐÁ¬½ÓͨѶ¡£
´´½¨Êý¾Ý¿âÁ´½ÓµÄÓï·¨ÈçÏ£º
CREATE [PUBLIC] DATABASE LINK link
CONNECT TO username IDENTIFIED BY password
USING ‘connectstring’
ÆäÖУº
--demonaΪÓÃnet8 easy config´´½¨µÄÁ¬½Ó×Ö·û´®
Ä¿µÄ·½Êý¾Ý¿âµÄinit.oraÎļþÖеÄglobal_namesÉèΪfalse
ÖØÐ ......
1¡¢×ª»»º¯Êý
Óëdate²Ù×÷¹ØÏµ×î´óµÄ¾ÍÊÇÁ½¸öת»»º¯Êý£ºto_date(),to_char()
to_date() ×÷Óý«×Ö·ûÀàÐͰ´Ò»¶¨¸ñʽת»¯ÎªÈÕÆÚÀàÐÍ£º
¾ßÌåÓ÷¨:to_date(''2004-11-27'',''yyyy-mm-dd''),ǰÕßΪ×Ö·û´®£¬ºóÕßΪת»»ÈÕÆÚ¸ñʽ£¬×¢Ò⣬ǰºóÁ½ÕßÒªÒÔÒ»¶ÔÓ¦¡£
Èç;to_date(''2004-11-27 13:34:43'', ''yyyy-mm-dd hh24:mi:ss'') ½«µÃµ½¾ßÌåµÄʱ¼ä
¶àÖÖÈÕÆÚ¸ñʽ£º
YYYY£ºËÄλ±íʾµÄÄê·Ý
YYY£¬YY£¬Y£ºÄê·ÝµÄ×îºóÈýλ¡¢Á½Î»»òһλ£¬È±Ê¡Îªµ±Ç°ÊÀ¼Í
MM£º01~12µÄÔ·ݱàºÅ
MONTH£º¾Å¸ö×Ö·û±íʾµÄÔ·ݣ¬ÓÒ±ßÓÿոñÌî²¹
MON£ºÈýλ×Ö·ûµÄÔ·ÝËõд
WW£ºÒ»ÄêÖеÄÐÇÆÚ
D£ºÐÇÆÚÖеĵڼ¸Ìì
DD£ºÔ·ÝÖеĵڼ¸Ìì
& ......
ΪÁ˽øÐÐLOCKµÄ̽¾¿£¬ÎÒ½¨Á¢ÁËÒ»¸ö²âÊÔ±í test ,½á¹¹ºÍ²âÊÔÊý¾ÝÈçÏÂ:
SQL> select * from test;
ID NAME
---------- ----------
6 yoxi
2 robinson
2 tttt
3 david
4 jason
5 lucy
1 test
ÒÑÑ¡Ôñ7ÐС£
row share(Ðй²Ïí)Èç¹û¶Ôij¸ö±íÖ´ÐÐÁËrow shareËø¶¨£¬ÄÇô,ÆäËûµÄSESSION¾Í²»ÄÜÕë¶Ô¸Ã±íÖ´ÐÐÅÅËû(exclusive)Ëø¶¨,µ«ÊÇ¿ÉÒÔÖ´ÐÐÆäËûÈÎÒâËø¶¨¡£Ò²¾ÍÊÇ˵ij¸ösession¶Ô¸Ã±íÖ´ÐÐÁËrow shareËø¶¨£¬ÄÇôÆäËûsession³ýÁËdrop ÃüÁî²»ÄÜÖ´ÐУ¬ÆäËûdml¶¼¿ÉÖ´ÐС£
session 1ÖУº
SQL> lock table test in row share mode;
±íÒÑËø¶¨¡£
session 2ÖУº
SQL> lock table test in row share mode;
±íÒÑËø¶¨¡£
SQL> commit;
Ìá½»Íê³É¡£
SQL& ......
“×Ó²éѯ”¾ÍÊDzéѯÖÐǶÌ××ÅÁíÒ»¸ö²éѯ£¬Ò²¼´Í¨¹ýSELECTÓï¾äµÄǶÌ×ʹÓÃÐγÉ×Ó²éѯ¡£µ±ÎÒÃDz»ÖªµÀÌØ¶¨µÄ²éѯÌõ¼þʱ,¿ÉÒÔÓÃ×Ó²éѯÀ´Îª¸¸²éѯÌṩ²éѯÌõ¼þÒÔ»ñµÃ²éѯ½á¹û¡£
ORACLEÖг£¼ûµÄ×Ó²éѯÓÐÏÂÃæ¼¸Àࣺ
A¡¢µ¥ÐÐ×Ó²éѯ(Single-row subqueries)¡£
B¡¢¶àÐÐ×Ó²éѯ(Multirow subqueries)¡£
C¡¢ÄÚ²¿ÊÓͼÐÍ×Ó²éѯ(Inline views)¡£
D¡¢¶àÁÐ×Ó²éѯ(Multiple-column subqueries)¡£
ÔÚÎÒÃǼÌÐøÏêϸÌÖÂÛ×Ó²éѯ֮ǰ£¬ÏÈ¿´¿´Ð´×Ó²éѯµÄÒ»Ð©ÌØ±ðҪעÒâµÄµØ·½£º
A¡¢×Ó²éѯ±ØÐë·ÅÔÚÀ¨ºÅÄÚ¡£
B¡¢×Ó²éѯҲ±ØÐë·ÅÔڱȽϲÙ×÷·ûºÅµÄÓұߡ£
C¡¢×Ó²éѯ×î¶à¿ÉÒÔǶÌ×µ½255¼¶¡£
×Ó²éѯÖв»ÄÜʹÓÃORDER BY×Ӿ䣬¼´ORDER BY±ØÐëλÓÚ²éѯµÄ×îÍâ²ã¡£
Ò»¡¢µ¥ÐÐ×Ó²éѯ£¨Single-Row Subqueries£©
µ¥ÐÐ×Ó²éѯ²¢²»ÊÇ×îºóÊä³öµÄ½á¹ûÖ»ÄÜ·µ»ØÒ»ÐУ¬¶øÊÇÖ¸×Ó²éѯֻÄÜ·µ»ØÒ»ÐС£
ÓÐÒ»Ìõ¹æÔòÎÒÃDZØÐë¼Çס£º
µ±ÎÒÃÇÓÓµÈÓÚ”±È½Ï²Ù×÷·û°Ñ×Ó²éѯºÍ¸¸²éѯǶÌ×ÔÚÒ»Æðʱ£¬¸¸²éѯÆÚÍû´Ó×Ó²éѯÄÇÀïÖ»µÃµ½Ò»Ðзµ»ØÖµ¡£
ÀýÒ»£º
SELECT ename,deptno,sal from EMP
WHERE deptno=(SELECT deptno from dept
WHERE loc=’New York’);
ÔÚÕâ¸öÀý×ÓÖÐ ......