Oracle Ê÷µÄʹÓÃ(Connect By)
±í¡¡¡¡¡¡¡¡tree
¡¡¡¡×ֶΡ¡¡¡¡¡master
¡¡¡¡¡¡¡¡¡¡¡¡¡¡sub
¡¡¡¡¡¡¡¡¡¡¡¡¡¡sales
¡¡¡¡insert into tree values
¡¡¡¡('Ö÷1',¡¡¡¡ 'Ö÷2',¡¡ 15);¡¡
¡¡¡¡insert into tree values¡¡¡¡¡¡
¡¡¡¡('Ö÷1',¡¡¡¡ 'Ö÷3',¡¡ 20);¡¡¡¡¡¡¡¡¡¡
¡¡¡¡insert into tree values
¡¡¡¡('Ö÷2',¡¡¡¡ 'Ö÷4',¡¡¡¡5);¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡insert into tree values
¡¡¡¡('Ö÷2',¡¡¡¡ 'Ö÷5',¡¡ 10);
¡¡¡¡insert into tree values
¡¡¡¡('Ö÷3',¡¡¡¡ 'Ö÷5',¡¡ 30);
¡¡¡¡insert into tree values
¡¡¡¡('Ö÷3',¡¡¡¡ 'Ö÷6',¡¡ 40);
¡¡¡¡
¡¡¡¡SQL> select * from tree;
¡¡¡¡MASTER¡¡¡¡ SUB¡¡¡¡¡¡¡¡¡¡¡¡ SALES
¡¡¡¡---------- ---------- ----------
¡¡¡¡Ö÷1¡¡¡¡¡¡¡¡Ö÷2¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡15
¡¡¡¡Ö÷1¡¡¡¡¡¡¡¡Ö÷3¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡20
¡¡¡¡Ö÷2¡¡¡¡¡¡¡¡Ö÷4¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 5
¡¡¡¡Ö÷2¡¡¡¡¡¡¡¡Ö÷5¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡10
¡¡¡¡Ö÷3¡¡¡¡¡¡¡¡Ö÷5¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡30
¡¡¡¡Ö÷3¡¡¡¡¡¡¡¡Ö÷6¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡40¡¡
¡¡¡¡
¡¡¡¡Èç¹ûÓÃÊ÷Ðͽṹ±íʾÈçÏÂ:
¡¡¡¡¡¡'Ö÷1'¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡-'Ö÷2'¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡ --'Ö÷4'
¡¡¡¡¡¡¡¡¡¡¡¡ --'Ö÷5'
¡¡¡¡¡¡'Ö÷1'¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡-'Ö÷3'¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡ --'Ö÷5'
¡¡¡¡¡¡¡¡¡¡¡¡ --'Ö÷6'
¡¡¡¡
¡¡¡¡SQL> select * from tree¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡start with sub='Ö÷2'¡¡¡¡¡¡¡¡¡¡--Ï൱ÓÚÆÕͨsqlµÄwhereÌõ¼þ
¡¡¡¡connect by prior master=sub;¡¡--±éÀúµÄ˳ÐòÊÇsubÏÈÓÚmaster±éÀú£¬Ò²¾ÍÊÇ˵´ÓsubÍùÉϱéÀúÒ»Ö±µ½master(¸ù½Úµã)
¡¡¡¡¡¡2¡¡
¡¡¡¡MASTER¡¡¡¡ SUB¡¡¡¡¡¡¡¡¡¡¡¡ SALES
¡¡¡¡---------- ---------- ----------
¡¡¡¡Ö÷1¡¡¡¡¡¡¡¡Ö÷2¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡15
¡¡¡¡
¡¡¡¡
¡¡¡¡SQL> select * from tree¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡start with master='Ö÷2'
¡¡¡¡connect by prior master=sub; --subÍùÉϱéÀúÖÁ¸ù½Úµã£¨²Î¿¼Ò»ÏÂÊ÷ÐÍͼ£©¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡2¡¡¡¡3¡¡
¡¡¡¡MASTER¡¡¡¡ SUB¡¡¡¡¡¡¡¡¡¡¡¡ SALES¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡---------- ---------- ----------¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡Ö÷2¡¡¡¡¡¡¡¡Ö÷4¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 5¡¡ --ÕâÌõÊÇ×Ô¼º±¾Éí£¬Ò²¾ÍÊǵÚÒ»±é±éÀú
¡¡¡¡Ö÷1¡¡¡¡¡¡¡¡Ö÷2¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡15¡¡ --ÕâÊǵÚ2´Î±éÀú£¬ÎÒÃÇ´ÓÊ÷ÐÍͼ¿ÉÒÔ¿´µ½£¬'Ö÷2'ÍùÉϱéÀúÊÇ'Ö÷1'¡¡¡¡¡¡¡¡
¡¡¡¡Ö÷2¡¡¡¡¡¡¡¡Ö÷5¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡10¡¡¡¡¡
Ïà¹ØÎĵµ£º
¸ãoracle¶¼»á¾³£Åöµ½rowid£¬±¾ÎÄÊDZÊÕ߸ù¾ÝÍøÉϸ÷λµÄÎÄÕ£¬¼ÓÉÏ×Ô¼ºÑ§Ï°ÖеÄÌå»á£¬×Ü½á¶ø³É¡£
Ò».rowid¼ò½é
rowid¾ÍÊÇΨһ±êÖ¾¼Ç¼ÎïÀíλÖõÄÒ»¸öid£¬ÔÚoracle 8°æ±¾ÒÔǰ£¬rowidÓÉfile#+block#+row#×é³É£¬Õ¼ÓÃ6¸öbytesµÄ¿Õ¼ä£¬10 bit µÄ file# ......
·½·¨Ò»£º
1) ²é¿´·þÎñÆ÷¶Ë×Ö·û¼¯£º &nbs ......
º¯Êý£º
1.ʹÓÃCreate Function Óï¾ä´´½¨
2.Óï
·¨£º
Create or replace Function º¯ÊýÃû[²ÎÊýÁбí]
Return Êý¾ÝÀàÐÍ
IS|AS
¾Ö²¿±äÁ¿
Be ......
ÔÚʵ¼Ê¿ª·¢ÖУ¬¾³£»áÐèÒª¶ÔÊý¾Ý¿â½øÐзÃÎÊ£¬×î³£¼ûµÄ¿ª·¢·½·¨¾ÍÀàËÆ£º
¡¡¡¡string sql = "select * from table1 where name = '" + name + "'";
¡¡¡¡ÕâÖÖ·½Ê½Óб»×¢Èë¹¥»÷µÄΣÏÕ
¡¡¡¡ËùÒÔ½â¾ö·½°¸ÓÐ2ÖÖ£º
¡¡¡¡1¡¢¸Ä³É£ºstring sql = "select * from table1 where name = '" + name.Replace("'","''") + "'"; // Ìæ»»Ò» ......
ÔÎĵØÖ·£ºhttp://www.dbabeta.com/2008/oracle_os_pwfile_authentication.html
±¾ÎĸÅÊöÓëʵÑé»·¾³
¸ÅÊö£º
±¾ÎÄÖ»ÌÖÂÛOSÈÏÖ¤ºÍ¿ÚÁîÎļþÈÏÖ¤·½Ê½µÄÅäÖ÷½·¨£¬ÈçºÎÅäÖÃÒÔ¼°Ê¹ÓÃOSÈÏÖ¤ºÍ¿ÚÁîÎļþÈÏÖ¤·½Ê½ÑéÖ¤SYSDBA/SYSOPERȨÏÞ¡£
ʵÑé»·¾³£º
Oracle 10.1 + Windows 2003 ºÍ Oracle 10.2 + RHEL 4
ÌØÊâȨÏÞÓëOracleµÇ½ ......