ÔÚoracleÖйØÓÚÊ÷µÄsql
±ítask£¬×Ö¶Îid_£¬name_
id_µÄÊý¾ÝÈçÏÂÐÎʽ£º
1
1.1
1.1.1
1.1.1.2
1.2
1.2.1
...
10
10.1
10.1.1
10.2.1
10.2.1.1
10.2.1.1.1
10.2.1.1.2
.......
×¢£º“.”±êʶ¸¸×ӵĹØÏµ¡£
ÏÖÔÚͨ¹ýid_²éѯÊ÷½á¹¹µÄЧ¹û£¬²¢ÇÒÖªµÀ´Ë½ÚµãÊÇ·ñΪҶ×Ó½Úµãleaf¡£¡££¿
Óï¾äÈçÏ£º
select
id_ ,
name_ ,
(select count(id_) from task where t.id_= substr(id_,0,INSTR((id_),'.',-1)-1) ) as leaf,connect_by_isleaf from task t
start with t.id_ ='5' connect by prior
t.id_= substr(t.id_,0,INSTR((t.id_),'.',-1)-1) order by t.id_
Ïà¹ØÎĵµ£º
SQLµÄÓÅ»¯Ó¦¸Ã´Ó5¸ö·½Ãæ½øÐе÷Õû£º
1.È¥µô²»±ØÒªµÄ´óÐͱíµÄÈ«±íɨÃè
2.»º´æÐ¡ÐͱíµÄÈ«±íɨÃè
3.¼ìÑéÓÅ»¯Ë÷ÒýµÄʹÓÃ
4.¼ìÑéÓÅ»¯µÄÁ¬½Ó¼¼Êõ
5.¾¡¿ÉÄܼõÉÙÖ´Ðмƻ®µÄCost
SQLÓï¾ä£º
ÊǶÔÊý¾Ý¿â(Êý¾Ý)½øÐвÙ×÷µÄΩһ;¾¶£»
ÏûºÄÁË70%~90%µÄÊý¾Ý¿â×ÊÔ´£»¶ÀÁ¢ÓÚ³ÌÐòÉè¼ÆÂß¼£¬Ïà¶ÔÓÚ¶Ô³ÌÐòÔ´´úÂëµÄÓÅ»¯£¬¶ÔSQLÓï¾äµÄÓÅ»¯Ô ......
ÔÚʵ¼Ê¿ª·¢ÖУ¬¾³£»áÐèÒª¶ÔÊý¾Ý¿â½øÐзÃÎÊ£¬×î³£¼ûµÄ¿ª·¢·½·¨¾ÍÀàËÆ£º
¡¡¡¡string sql = "select * from table1 where name = '" + name + "'";
¡¡¡¡ÕâÖÖ·½Ê½Óб»×¢Èë¹¥»÷µÄΣÏÕ
¡¡¡¡ËùÒÔ½â¾ö·½°¸ÓÐ2ÖÖ£º
¡¡¡¡1¡¢¸Ä³É£ºstring sql = "select * from table1 where name = '" + name.Replace("'","''") + "'"; // Ìæ»»Ò» ......
SQLPlusÊÇoracleÌṩµÄÒ»¸öÃüÁîÐÐÖ´ÐеŤ¾ß
SQLPlusÖÐÓÃÁ½ÖÖÃüÁ
sqlplus£ºÒÔÃüÁîÐеķ½Ê½½øÈëÊý¾Ý¿âÁ¬½Ó
sqlplusw£ºÒÔ´°¿ÚµÄÐÎʽÆô¶¯ÃüÁîÐй¤¾ß ×¢£ºÖ÷»ú×Ö·û´®£¬ÊäÈëÊý¾Ý¿âÃû³Æ
&n ......
±í¡¡¡¡¡¡¡¡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);¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡ ......