SQLã§ã©ã®ããã«ãªãªã³ããã¯ãè¡ã£ããã®è©±ãç¶ããŸã ã ããã¯åã®èšäºã®ç¶ãã§ããããã¹ãŠãåçŽã«é©åããŸããã§ããã
åã·ãªãŒãºã®æŠèŠïŒ2016幎12æãš2017幎3æã«ãªãªã³ãã¢ãŒãã®2ã€ã®éä¿¡ã©ãŠã³ããããããè¡ãããåå©ã®ç³è«è ã¯OracleããŒã¿ããŒã¹ã§SQLã䜿çšããçè«ãšå®è·µã®äž¡æ¹ã§å³ããéžæãééããŸããã ããã«ã第3ã©ãŠã³ãã«ã€ããŠã¯ã2017幎6æäžæ¬ã®ãœããªãªã³ããã¯ã®ãã«ã¿ã€ã 決åã§ãã
å 責äºé 念ã®ããã«ãç§ã¯èªåã®åœ¹å²ãç¹°ãè¿ããŸããããã§ãªãå Žåã¯ãèšäºã®æåã®éšåã®åŸãäžéšã®äººã«ã¯ããã»ã©æçœã§ã¯ãªãããšãå€æããŸããã ç§èªèº«ããã®ãªãªã³ãã¢ãŒãã®äž»å¬è ã§ã¯ãããŸãããã€ãã³ãã®åç¥ãšåºåãã¹ãã³ãµãŒã®æ€çŽ¢ã倧åŠãšã®é£æºããªãã©ã€ã³ã§ã®ã€ãã³ãã®éå¬-ãããã¯ãã¹ãŠä»ã®äººã«ãã£ãŠè¡ãããŸããã ç§ãã¡ã®äŒç€Ÿã¯ã¹ãã³ãµãŒã§ããããªãªã³ããã¯ã§ããã€ãã®ã³ã³ãã¹ããæºåããŠããŸãããå人çã«ã¯ãSQLã³ã³ããã£ã·ã§ã³ã®æè¡ïŒãããŠæè¡ã®ã¿ïŒã®éšåãæºåããŠããŸããã ã€ãŸãã圌ã¯ã¹ããŒãžãå®æœããããã®ã«ãŒã«ãæºåããã¿ã¹ã¯ãæºåããŠãã§ãã¯ããŸããã ããã»ã©å€ãã¯ãªãããã«æããŸãããäžæ¹ã§ãä»ã®ãã¹ãŠãå®éã«è¡ãããã®ã¯ãŸãã«ããã§ãã ã ããç§ãæ¥ãããããå±ã§ã¯ãããŸããã
ãããäœã§ããããæ確ã«ããããã«ãå ¬åŒãŠã§ããµã€ã㧠2016/17ãªãªã³ããã¯ã®æ±ºåæŠã«é¢ããã¬ããŒãã以äžã«ç€ºããŸã ã
ãªãªã³ãã¢ãŒãã®ãµã€ããããã©ãã¢ã«ãã ãžã®ãªã³ã¯ ããã以å€ã®å Žæã§èŠã€ããããšã¯ãã©ããããããæããã§ã¯ãããŸããã
第3ã©ãŠã³ãã察é¢ã®æ±ºåæŠããœã2017幎6æ
äž»å¬è ã¯ç§ãã¡ãšãœãã®åå è ã決åã«æåŸ ããŸããã æªãå Žæã§ã¯ãããŸããã åœåã¯5ææ«ã«èšç»ãããŠããŸããããåŠæ ¡ã§ã®åæ¥åŒããŒãã£ãŒã®å€§èŠæš¡ãªç¥è³äŒã¯ãã€ãã³ãã®éå¬ã«å°é£ããããããŸããã ç§ã¯6æ1æ¥ã«1é±é移åããªããã°ãªããŸããã§ããã
ãããããŸãæåã«ã ãŸããæºåã«ã€ããŠã
ä»äºã®æºå
æåã®ã©ãŠã³ãã®ã¬ã€ã¢ãŠãã¯æ¬¡ã®ãšããã§ãããæåã®ã©ãŠã³ãã¯çè«çã«ã¯å³ãããã¹ããã£ã«ã¿ãŒã§ããã2çªç®ã¯éæ³ã®åé¡è§£æ±ºã®ç·Žç¿ã§ããã3çªç®ã¯é»ææŠã§ããã 察é¢ã¢ãŒãã§ã¯ãåå è ã¯åé¡ãå®éã®éåžžã«éãããæéã§è§£æ±ºããå¿ èŠããããããããã¯å€§ææã«ãªããŸãã ãããŠãé»æã¯ç¢ºãã«æé«ã®ããã°ã©ããŒã決å®ããæè¯ã®æ¹æ³ã§ã¯ãããŸããã ãããŠããæé«ã§ã¯ãªãã-ããã¯ãŸã ç©ããã«èšãããŠããŸãã ãããã圌ãã¯ãã以äžã®ãã®ãæãä»ãããšãã§ããŸããã§ããã
ãã°ããã®éãäœããã®æ±ºãŸã£ãã¢ã€ãã¢ãèãåºãããšããŠããŸãããããã¯æ±ºåå šäœã«æ§ãããã解決ãããååé¡ã¯åå è ãåé²ãããæ°ããã¿ã¹ã¯ãéãããããã®ã¿ã¹ã¯ã®æ°ã¯æ¢ã«è§£æ±ºãããããããã§å¢å ããŸãããã¢ã€ãã¢ã¯æ±ºããŠçŸå®ã®ãã®ã«åœ¢ãæŽããŸããã å°Ÿãã€ããŸããããŸããã§ããã
æéãäžè¶³ãããã®ãããªã¹ããŒã ã§åæ¢ããŸããã ãã¹ãŠã®ã¿ã¹ã¯ã¯ããŒã¿ããŒã¹ã§æå·åãããŸãã ååé¡ã®è§£æ±ºçã«ããããã§ãŒã³ã«æ²¿ã£ãŠæ¬¡ã®ã¿ã¹ã¯ãªã©ã解èªã§ããŸãã ããããã°ããã¹ãŠãç°¡åã«ãªããŸããä»ã®èª°ããåã£ããããå ã«åã人ã 2ã€ã®ã¿ã¹ã¯ãåããããé ããŸã§é²ãã å Žåãæåã«åã£ãæ¹ãåã¡ãŸããã ã¿ã¹ã¯ã®åŸ©å·åã¯ä¿åãããé¢æ°ã«ãªããåæã«åŒã³åºããèšé²ãããŸããã ããã«ãããç¶æ³ããªã¢ã«ã¿ã€ã ã§ç£èŠããããšãã§ããŸããã ãŸãã埩å·åæ©èœã¯ç¹å¥ã«èšç®ãè€éã«ãªã£ãããã1åã®èµ·åã§æ°ç§éåäœããŸããã ããã¯ã培åºçãªæ€çŽ¢ã«ãã£ãŠåé¡ã解決ããå¯èœæ§ãæé€ããããã§ãã ãŸãããããã®éåžžã«æ€çŽ¢ãªãã·ã§ã³ã®æºåãããããŒã¿ã§ãããããã°ãååã§ããããšã確èªããŸããã
決åæŠã®ãã®ã¹ããŒã ã«ã¯ãå€ãã®åŠå®ã§ããªãå©ç¹ããããŸãã ãŸããçµæããªã¢ã«ã¿ã€ã ã§ç£èŠã§ããŸãã 第äºã«ããã¹ãŠã®åå è ã¯çµ¶å¯Ÿã«å¹³çãªç¶æ³ã«ãããæ§èšŽã®çç±ã¯ãããŸããã äž»ãªæ¬ ç¹ã¯ããããã®åãå©ç¹ããæ£ç¢ºã«ç¶ããŸã-çªç¶è³ããè©°ãŸã£ãŠãããœãªã¥ãŒã·ã§ã³ãåæ¢ããå Žåããã以äžã®æ¹æ³ã¯ãããŸããã é»ææŠã§ã¯ãããã¯ç¢ºãã«ããã»ã©å¥åº·çã§ã¯ãããŸããããªããªããããã¯è¿·æã§ããããã¹ãŠã®åå è ãäœããã®åœ¢ã§ããã«çŽé¢ããããã§ãã ç§ã¯ããã®ãããªã¿ã¹ã¯ã«æ±ºããŠãè¡ãè©°ãŸããããšã®ãªã人ãæ³åããããšããã§ããŸããã
ããããç§ã¯æ¬åœã«ãã®ãããªãã©ãŒããããè©ŠããŠã¿ããã£ãã§ãã éžæè¢ã¯æ確ã§ããã¿ã¹ã¯ãããããã®ãã€ã³ããçµæã®èªåæ€èšŒ-ç²åŸãããã€ã³ããæãå€ãç²åŸãã人ã ç§ã¯ãã®ã¢ãããŒãã奜ãã§ã¯ãããŸãããããããæããã§ã-æçµçµæã®ã¿ã¹ã¯ïŒãã€ã³ãïŒã®éã¿ã®ãã©ã³ã¹ããšããŸãã èŠéãã®ã¯éåžžã«ç°¡åã§ãçµæã¯çªç¶äžå ¬å¹³ã«ãªãå¯èœæ§ããããŸãã ãããŠããããã®éã¿ããããã°ããæ©äŒã¯ãããŸããããããå¯äžã®ãã£ããŒã¬ã§ãã ããäžåºŠãªãªã³ããã¯ãéå¬ããå Žåãç§ã¯ãŸã æé«ã ãšæããŸãã ä»ã§ã¯çµéšããããŸãã
ãã®ãããã¢ãããŒãã決å®ããããã¿ã¹ã¯ãæºåããå¿ èŠããããŸãã ç¹°ãè¿ãã«ãªããŸãããç§ã¯ãããèšèã§è¡šçŸããããã«ããªãªã³ãã¢ãŒã以å€ã®ã¿ã¹ã¯ãæã¡ãããšèããŸããã ã€ãŸãã圌ãã®ãœãªã¥ãŒã·ã§ã³ã¯ãæ°è«ãç¹å¥ãªã¢ã«ãŽãªãºã ããŸãã¯ãã®ãããªãã®ã«é¢ããç¹å¥ãªç¥èãå¿ èŠãšãã¹ãã§ã¯ãããŸããã ç§ã¯ããããã®åé¡ã解決ãããã£ãã®ã§ãæ¡ä»¶ãå®çŸããç¹å®ã®åé¡ãªããœãªã¥ãŒã·ã§ã³ãšå®è£ ãè¡šçŸãã宣èšçãªæ¹æ³ãæ³åããå¿ èŠããããŸããã ããŠã第2ã©ãŠã³ãã®ã¿ã¹ã¯ã®ããã«èŠããã®ã¯ãåçŽã§ãã 2çªç®ã®ã©ãŠã³ãã§ã¯ãåé¡ã解決ããããã®ç®æšæéã¯1æ¥ã§ã3çªç®ã®æéã¯30åã§ããã ã¿ã¹ã¯ã®çµæãšããŠãçºæããããšã¯éåžžã«å°é£ã§ããã ãã®ãã©ã³ã¹ã®ããã ãã«ã決å®ããã®ã¯ããã»ã©é£ãããããŸãããããããéèŠã§ãã ã¿ã¹ã¯ã§æ£ããçµæãåŸãããã«å¿ èŠãªæ©èœãå¿ããªãã§ãã ããã倩äºããçããæžãããšããŠãã解決çã¯åæã«è£ 食ããããšãã§ããŸãã 解決æ¹æ³ã¯ã©ãã§ãå¶åŸ¡ãããã¿ã¹ã¯ã®ã¿ãã³ã³ãã€ã«ãããããSQLã§æãç°¡åã«è§£æ±ºã§ããŸããã
éå±ããªãããã«ããã£ã³ããŒã³ã¿ã¹ã¯ã§OracleããŒã¿ããŒã¹ã®èå³æ·±ãèªåœãªããžã§ã¯ããåå è ã«çŽ¹ä»ããŸããã ç¥ããªã人ã®ããã«ãçŸä»£ã®ããŒã¿ããŒã¹ã«ã¯ãããŒã¿ããŒã¹ã®å 容ã«é¢ãããã¹ãŠã®ã¡ã¿æ å ±ãå«ãèŸæžããããŸããããŒã¿ããŒã¹ã«å«ãŸããããŒãã«ããã£ãŒã«ããæé ãæ©èœããã®ä»ã®å€ãã®æçšãªæ å ±ãä»ããã©ã®ããã«ããŒã¿ããŒã¹ã§èµ·ãã£ãŠããŸãã åãçç±ã§ããã楜ããããããã«ãããã¹ãã¯ã°ã¬ãŽãªãŒã»ãªã¹ã¿ãŒã®ã¹ã¿ã€ã«ã§èšèšãããŸããã
ãããäœãèµ·ãã£ãã®ãã§ãã åã¿ã¹ã¯ã®çµäºæã®ãããã¯ã®è¡šç€ºã¯æ¡ä»¶ã®äžéšã§ã¯ãããŸããã§ããããããã¯äœæ¥ã¡ã¢ã§ãããããã§ã¯é¢é£ããŠããŸãã
決åãã£ã¬ã³ãž
人çãå®å®ããããŠãã¹ãŠã«é¢ããæãéèŠãªè³ªåãžã®çãã¯ã次ã®ã¿ã¹ã¯ã解èªããããã®éµã§ãã
åçïŒ42
解決çïŒãã®åé¡ã®è§£æ±ºã«ã¯æéããããããïŒçŽ750äžå¹ŽïŒãçããç¥ãå¿ èŠããããŸãã
管çè ããŒã¿ããŒã¹ã«ããŒãã«ãç°¡åã«äœæããŸããã 圌ã¯ããã奜ãã§ãå¥ã®ãã®ãäœæããŸããã ãããŠããã«400åã 圌ãåŸã§è¿°ã¹ãããã«ãããŒãã«ã¯ãã¹ãŠç°ãªã£ãŠããŸãããããã®ãã¡ã®2ã€ã¯å®å šã«å°ã䌌ãŠããŠã1ã€ã®ãã£ãŒã«ãã®ååã®ã¿ãç°ãªã£ãŠããŸããã æ€çŽ¢ããŠãVasyaã«ãã£ãŠäœæããã2ã€ã®ããŒãã«ãããã1ã€ã®ãã£ãŒã«ãåãæ£ç¢ºã«ç°ãªãã 次ãã次ãžã®ã¿ã¹ã¯ããã³ãŒãããããã®ããŒã¯ãèŸæžåŒã®é åºã§æ¬¡ã ã«æžã蟌ãŸããããŒãã«ã®ååã§ãã
ãã³ãïŒDBA_TAB_COLUMNSã·ã¹ãã ãã¥ãŒã䜿çšããŸããããŒãã«ãã€ã¹ã³ã¯VPOUPKINEã¹ããŒãã«ãããŸãã
ãããã¯ïŒèŸæžïŒDBA_TAB_COLUMNSïŒããµãã¯ãšãªãéèš
VasyaãããŒãã«ãäœæããåŸããŠãŒã¶ãŒKlavaã¯ããŒãã«ã«èšå ¥ãå§ããŸããã ãããŠãåã®ã¿ã¹ã¯ã®1ã€ã®è¡šã«ããã€ãã®éåžžã«éèŠãªããŒã¿ãå ¥åããŸããã ããããããæç¹ã§ã圌女ã¯ååãšã®äŒè©±ã«æ°ãåãããããã°ã©ã ãŠã£ã³ããŠãæ©æ¢°çã«éããŠãããŒã¿ãå ¥åããèšé²ã倱ããŸããã 圌女ãæåŸã«æãåºããã®ã¯ããã®ã¬ã³ãŒãã®ãã£ãŒã«ãã®1ã€ããã£ãŒã«ãã®ååã«äžèŽããè¡ã§åããããŠããããšã§ãã 管çè Vasyaã¯ããã®èšé²ãã¯ã©ãŠãã£ã¢ã«èŠã€ãã圌女ã®åªåãç¶ããã®ãå©ããŸããã
åã®ã¿ã¹ã¯ãžã®åçããããŒãã«å ã§ããã£ãŒã«ãã®1ã€ïŒèª°ãç¥ããªãïŒã®å€ããã£ãŒã«ãåã«äžèŽããè¡ãèŠã€ããå¿ èŠããããŸãã 次ã ã«æžã蟌ãŸãããã®ãã£ãŒã«ãã®ååãšãã®ã¬ã³ãŒãã®ROWIDã¯ã次ã®ã¿ã¹ã¯ã埩å·åããããã®ããŒã§ãã ãã³ãïŒDBA_TAB_COLUMNSãã¥ãŒã䜿çšããŸãã
ãããã¯ïŒèŸæžïŒDBA_TAB_COLUMNSïŒãä»ã®ã¯ãšãªã§ã¯ãšãªãçæããæ©èœ
åã®åé¡ã解決ããVasyaã¯ãããã«ã€ããŠèããŸããã 2æéåŸã圌ã¯ç²Ÿç¥çãªcoogg-fuãç¥ã£ãŠãããä»»æã®ããŒãã«ã®ä»»æã®ãã£ãŒã«ãã§ä»»æã®å€ãæ¢ãã®ã«è²»çšãããããªããšããèãã«æ°ä»ããŸããã ãããŠããã«ã ããšãã°ãéäžã§æ°å€ãã£ãŒã«ããè¿œå ã§ããŸãã 圌ã¯ãšãŠãè奮ããæ±ããããŸããã ãããŠãVasyaã¯ããã¹ãŠã®æ°å€ãã£ãŒã«ãã®åèšã12345ã§ããããŒãã«ãæ€çŽ¢ããããšã«ããŸããããããŠããã®ãããªããŒãã«ãèŠã€ãããŸããïŒ ãã®è¡ã®ROWIDã¯ã次ã®ãžã§ãã埩å·åããããã®ããŒã§ãã
ãããã¯ïŒèŸæžïŒDBA_TAB_COLUMNSïŒãä»ã®ã¯ãšãªã§ã¯ãšãªãçæããæ©èœ
ãŽã¡ã·ãªãŒãããŒãã«ãé§ãå·¡ãäžã圌ã®ååã®ãŒãã¢ã»ã¹ãã¹ã¯ã²ããã«ããã°ããšã·ã§ãã©ã¶ãŒãã§åºå°ãäœãããšã«ããŸããã ãŸããVasyaããã£ããã«ã圌ã¯ããŒãã«ã1,000åäœæããããšãé»æ³ããŸããã 次ã«ã次ã«äœããã¹ãããèããŸããã ãã©ã³ã¹ã®ãŽã¡ã·ã³ã®å£°ãã圌ãåŒãåºããïŒ
-ãããŠããããã®2ã€ã®ããŒãã«ã®ååã¯ãæåã®åŸªç°ã·ããã«ãã£ãŠçžäºã«ååŸãããŸãïŒ
-äœïŒ
-ããŠããã®ããŒãã«ã®ååã®å
é ãæ«å°Ÿã«ç§»åãããšããã®ããŒãã«ã®ååãæ£ç¢ºã«ããããŸãã
-ã©ãïŒ
Vasyaã¯ç€ºããã ããŒãã«ã¯JSMITHã¹ããŒãã«ãããŸãã ãããã®2ã€ã®ããŒãã«ã®ååã¯ãèŸæžåŒé åºã§æ¬¡ã
ãšæžã蟌ãŸãã次ã®ã¿ã¹ã¯ã®éµãšãªããŸãã 2æåã®åŸªç°ã·ããã®äŸïŒABCDEF-> CDEFABã DBA_TABLESãã¥ãŒã䜿çšã§ããŸãã
ãããã¯ïŒèŸæžããã³æååé¢æ°ã®äœ¿çšãDBA_TABLES
æåŸã«ãVasyaã¯çµå¶é£ã®ããŒãºã«å¿ããå ±åæžãäœæããããšã«åæããŸãããå ±åæžã¯ãã§ã«2ãæéæ±ããããŠããŸããã ã¬ããŒãã§ã¯ã次ã®ããã«SQL2017.ORG_STRUCTUREããŒãã«ããçµç¹æ§é ãå°åºããå¿ èŠããããŸããã ãã¹ãŠã®åŸæ¥å¡ã®ååãã¢ã«ãã¡ãããé ã«å°å·ããŸãã åŸæ¥å¡ã®1人ãéšäžãæã£ãŠããå Žåãé ã®äžã§ã€ã³ãã³ããããã¹ãŠã®éšäžãåã³ã¢ã«ãã¡ãããé ã«ã€ã³ãã³ãããŸãã éšäžã®1人ãéšäžãæã£ãŠããå Žåãåã³éšäžãã¢ã«ãã¡ãããé ã«ã€ã³ãã³ãããŠæšæž¬ããŸãã 以äžã«äŸã瀺ããŸãã
... ------------------------ -------- ----
åŸæ¥å¡ã®åŸå±ã¯ããããŒãžã£ãŒIDãåç §ããMANAGER_IDãã£ãŒã«ãã«ãã£ãŠèšå®ãããŸããåŸæ¥å¡ã®ååã¯NAMEãã£ãŒã«ãã«ãããŸãã
å ±åãè¡ã£ãVasyaã¯ãVasyaèªèº«ãæããã«ç¡é¢å¿ã§ã¯ãªãã·ã£ãŒããããããããïŒID = 716ïŒã«åºéŠ¬ããå ŽåãHINTãã£ãŒã«ããèŠããšããã®ãã£ãŒã«ãã次ã®ã¿ã¹ã¯ã®éµãéãããšã«æ°ä»ããŸããã
ãããã¯ïŒéå±€ã¯ãšãªãSIBLINGSã«ãã䞊ã¹æ¿ã
ãã€ãŠãŽã¡ã·ã£ãšãžã§ã³ã€ã¯ç¬ç«ã«ã€ããŠã®è«äºãå§ããŸããã ãããŠãVasyaã¯ç¬ç«ããå€æã1ã€ãè¡ããŸãããããã§ãã¯ãã€ã³ãã§æã¡åž°ããæ±ããããå€æãåãæ»ããéšå±ã®é ã«çœ®ãå¿ èŠããããŸããã ãããŠãè°è«ã¯æ°ããªå¢ãã§ç¶ããŸããããä»ã¯äŸåã«ã€ããŠã§ãã äŸåé¢ä¿ã¯ãå¿ èŠãªå Žæãšå¿ èŠã§ãªãå Žæãæ¢ããŠããŸãããæçµçã«ã¯ããæ°ã«å ¥ãã®ããŒã¿ããŒã¹ã§ãããªãå€ãã®å Žæã§èŠã€ãããŸããã
ããŒã¿ããŒã¹ãªããžã§ã¯ããå¥ã®ãªããžã§ã¯ãã«äŸåããŠããå ŽåãDBA_DEPENDENCIESã«ã¬ã³ãŒããããããšãããã«æããã«ãªããŸãããOWNER.NAMEã¯REFERENCED_OWNER.REFERENCED_NAMEã«äŸåããŠããŸãã 誰ãããã§ãŒã³å ã®æ¬¡ã®ãªããžã§ã¯ãã«äŸåããŠããå ŽåãäŸåé¢ä¿ã®ãã§ãŒã³ã¯ããã«ç¶ç¶ã§ããŸãã
ç¬ç«ãããªããžã§ã¯ãã¯èå³ã®å¯Ÿè±¡ã§ã¯ãªãããããã«ãããããã«äŸåãããã®ã¯ãããŸããã ããããæãç ã¿ã€ãã«ãªã人ãèŠã€ããããšã¯èå³æ·±ãåºæ¥äºã§ããã ããã«èå³æ·±ãã®ã¯ãä»ã®ãã¹ãŠã®äººãäŸåããŠããæãã圱é¿åã®ããã人ãèŠã€ããããšã§ãã ä»ã®ãªããžã§ã¯ãã®æ倧æ°ãäŸåãããªããžã§ã¯ãã®ååãšããããã®ãªããžã§ã¯ãã®æ°ã¯ã次ã ã«æžã蟌ãŸãã次ã®ã¿ã¹ã¯ã解èªããéµãšãªããŸãã
èŽè¡ã®äžã§é£ã«åº§ã£ãŠããVasyaãšåœŒã®ååã®è¡åããçµæãä¿è·ããã«ã¯ããã®ã¿ã¹ã¯ã®LOLã¹ããŒã ã«éå®ããŠãã ããã ãªããžã§ã¯ãã¯ããèªäœã«ãäŸåãããšèããããŠããŸãã ã¹ããŒã å ã®ãã¹ãŠã®ãªããžã§ã¯ãã®ååã¯äžæã§ãã ããã±ãŒãžã®æ¬äœãšä»æ§ã¯ã1ã€ã®ãªããžã§ã¯ããšèŠãªãå¿ èŠããããŸãã
ãããã¯ïŒDBA_DEPENDENCIESãååž°ã¯ãšãªã
Kolya YokãäŒç€Ÿã®ããŒãºã«å¿ããŠåããããšããããŸããããå€ãã®æ¹ãããè¯ããšä¿¡ããŠããŸãã
圌ã¯äœãããªãã£ãã ããšãã°ã圌ã¯æªåé«ãã¬ããŒãEJEKP.JMACCXBXUKãæžããŸããã
絶ããå£ããŠããããã®ã¬ããŒãã«ãããšãæã®æ°Žææ°è±¡ã»ã³ã¿ãŒã¯é·ãé
ãã§ã«åœŒèªèº«ã®å€©æ°äºå ±ãè¡ã£ãŠããŸãã ããäžåºŠã¬ããŒãã衚瀺ãããªããªããŸãã
å¿
èŠãªããŒã¿ãããã³äžè¬çãªç·æ¥äºæ
ãçºè¡šãããŸããïŒè·å Žã®èª°ãçºæ£ããŸãã
ã¬ããŒããæ©èœãããŸã§ã å¿
æ»ã«è©Šã¿ãã³ãªã€ãšã¯ç°ãªã
ã¬ããŒãã®äœæ¥ãåæããããã«ãVasilyã¯ä»ã®æ¹æ³ãæ¡çšããããšã«ããŸããã ãããŠä»£ããã«
ããã·ãŒãžã£EJEKP.JMACCXBXUKãç Žã£ã人ãæ¢ããŠãVasyaã¯èªåèªèº«ã蚌æããããšã«ããŸãã
圌ã¯å人çã«ããŒã¿ããŒã¹å
ã®äœãå€æŽããªãã£ãããšãå®èšŒããç¡å®ã
圱é¿ããå¯èœæ§ããããŸãã ãããè¡ãããã«ã圌ã¯æé ãšæ©èœã®ãªã¹ããèŠã€ããŸããïŒããã«
ãµãã«ãŒãã³ïŒEJEKP.JMACCXBXUKã¯ç¬ç«ããŠããŸãã ãããŠããã¹ãŠã®ãŽã¡ã·ãŒãã®ä¿®æ£
ã³ãŒãã¯ãã®ãªã¹ãã«åé¡ãããŸãã
ä»®å®ïŒ
DBA_DEPENDENCIESã®äŸåé¢ä¿ã¯ããªããžã§ã¯ãã¬ãã«ãŸã§çŽ°ååãããŸãã ããã§
ããã±ãŒãžã«ãŒãã³éã®äŸåé¢ä¿ã«é¢å¿ããããŸãã ããã
ããã±ãŒãžP1ã®ãµãã«ãŒãã³S1ã¯ãããã±ãŒãžP2ã®ãµãã«ãŒãã³S2ãåŒã³åºããŸãã ããããç§éã¯èšã
ãã®P1.S1ã¯P2.S2ã«äŸåããŠããŸãã èœåã§ã¯ãªããã³ãŒãå
ã§åŒã³åºããè¡ãããšã«é¢å¿ããããŸã
ãã®åŒã³åºããè¡ããŸãã äŸãã°
IF FALSE THEN P2.S2; END IF;
P2.S2ãžã®ææŠãšèããŸãã
EJEKP.JMACCXBXUKãäŸåããªããã¹ãŠã®KEKã¹ããŒãããã±ãŒãžã«ãŒãã³ãèŠã€ããŸãã
ãããè¡ãã«ã¯ãè¡šã䜿çšããŠããã±ãŒãžã®ãœãŒã¹ã³ãŒããåæããå¿
èŠããããŸã
DBA_SOURCEã ãœãŒã¹ã³ãŒããããã¹ãŠã®äŸåé¢ä¿ãèŠã€ããããšãã§ãããšæ³å®ããŠããŸãã
ãã®ã¹ããŒã ã®ããã±ãŒãžããã³ä»ã®ã¹ããŒã ã®ã«ãŒãã³ã¯åŒã³åºãããŸããã ããã±ãŒãžãªã
ã³ã¡ã³ãã ããã±ãŒãžããã³ãµãã«ãŒãã³åã¯ãåŒã³åºããããšãã«åžžã«é
眮ãããŸã
éã«ã¹ããŒã¹ãå
¥ããã«1è¡ã§å
¥åããŸãã ããŒã¯ãŒãPROCEDUREããã³FUNCTIONããã³
ãããã®ååãåãè¡ã«ãããŸãã ããã±ãŒãžåãšãµãã«ãŒãã³å
ä»ã®ãã¹ãŠã®ãªããžã§ã¯ãã®ååãšã¯ç°ãªããŸãã ããã±ãŒãžã®ã¿ã宣èšãããŸã
ã«ãŒãã³ã¯åæ¹å®£èšã§ãã
çãã¯ãèŠã€ãã£ãããã·ãŒãžã£ãšé¢æ°ã®ååã®æååã§ã
èŸæžç·šéããã«ã³ãã§åºåãããåäžã®è¡ã«æ¥çããŸãã ããŒã«ã«ãå¿ããªãã§ãã ãã
ã«ãŒãã³ã¯ããã±ãŒãžæ¬äœã§å®£èšãããŠããŸãããä»æ§ã§ã¯å®£èšãããŠããŸããïŒ
ãããã¯ïŒDBA_SOURCEãååž°ã¯ãšãªã
Vasyaã¯äŒç€Ÿã®ããŒãºã«å¿ããŠåããŠããŸããããZhenyaã¯ç±æãæã£ãŠäœããããææVasyaã«ç¥ç§çãªç®ãåããŸããã æåŸã«ããããææ
¢ã§ããªããVasyaã¯å°ããïŒ
-ããŠãäœããããŸããïŒ
Eugeneã®èª¬æïŒ
-ããã°ãããã£ãŠããŸãã JSMITH.ABACUSããŒã ãã¬ãŒãã«æ°åããããŸãã 1ã€ã®çªå·ãéžæããŠããã2çªç®ã®çªå·ãïŒåãã¬ã³ãŒãããã§ãïŒä»»æã«éžæããŠè¿œå ããŸãã 次ã«ã3çªç®ã®æ°å€ïŒæ¢ã«ååŸæžã¿ã®ã¬ã³ãŒãããååŸããããšãã§ããŸãïŒãš4çªç®ã®æ°å€ãååŸããããã2ã€ãäºãã«ä¹ç®ããŸãã ãŸãããã®ãããª4ã€ã®æ°åã®ã»ããããæåã®ãã¢ã®åèšã2çªç®ã®ãã¢ã®ç©ã«çãããªãå ŽåããããŸãã ãããŠããã®ãããªã»ãããããã€çºèŠããããç¥ã£ãŠããŸããïŒ
ããŸã ããããŸããããããã«ããããŸããã ããã¯åºæ¬ã§ãïŒ -ãŽã¡ã·ã£ã¯ãã¯ã©ãKã®éå»ã®ãšã¯ã¹ããã€ããæãåºããŠèšã£ãã
ãããããªã¯ãšã¹ããæžããŠ30åéããåŸ ã¡ãã ããããšããç¢æãéã£ãåŸãVasyaã¯V $ SESSION_LONGOPSããã³ãã®ä»ã®åæ§ã®å ŽæãèŠãŠãå¶æ¥æ¥ã®çµãããŸã§çããè¿ã£ãŠããªãããšã«æ°ä»ããŸããã èŠæ±ã¯åæ¢ãããŸããã 圌ã®å¿ã®äžã«äœããæšå®ããŠãVasyaã¯ç°ãªã£ãè¡åãããŸããã ãããŠæ°ååŸã圌ã¯çããç¥ã£ãã ãã®çããèŠã€ããŠãã ããã
JSMITH.ABACUSããŒãã«ã®4ã€ã®æ°åã®çµã¿åããã®æ°ã¯ãæåã®ãã¢ã®åèšã2çªç®ã®ãã¢ã®ç©ã«çããããã次ã®ã¿ã¹ã¯ã解èªããéµãšãªããŸãã ãã¹ãŠã®å¯èœãªã»ããã¯æ¬¡ã®ããã«å®çŸ©ãããŸããæåã®å Žæ-ããŒãã«ã®åçªå·ã2çªç®ã®å Žæ-ããŒãã«ã®åçªå·ã3çªç®ãš4çªç®-åãã ããšãã°ãããŒãã«ã«10åã®æ°åããããããããã¹ãŠããŒãã§ããå Žåãåé¡ã®çãã¯10 * 10 * 10 * 10 = 10000ã«ãªããŸãã
ãããã¯ïŒè¿œå ã®ããŒãã«ã®äœæãæé©åïŒãã¹ããããã«ãŒããšããã·ã¥çµåã®éãïŒã
Vasyaã¯Zhenyaã®è©ãå©ããŠèšã£ãïŒ
-ãããŠãããã°ããäœããŸããïŒ ãããŠãããªãã¯ç§ãããã«äœãæåŸ
ããŠãããç¥ã£ãŠããŸããïŒ
-åã®ã¿ã¹ã¯ã§ãã£ãããã«ãäœåãšäžèŽããåèšæ°ã¯ïŒ
-ãããã-ãŽã¡ã·ã£ã¯ã«ãã«ãç¬ããŸãã-ç§ã¯ç°¡åã«è¡åããŸããã 4ã€ã®æ°å€ã®ã»ãããããã€ããããèšç®ããŸãããæåã®2ã€ã®åèšã¯æåŸã®2ã€ã®åèšã«çãããªããŸãã
ãã ããããã¯ããã«ç°¡åã§ãïŒ..ããšZhenyaã¯å«ãã ã
-ãããŠãããªããè©ŠããŠã¿ãŠãã ãã-ãŽã¡ã·ã£ã¯ã«ãã«ãç¬ããŸããã
ãããŠã圌ãæ°Žãã®ãã蟌ãã ãšããããã¯ããã»ã©åçŽã§ã¯ãããŸããã§ããã
ããŒãã«VPOUPKINE.ABACUSããååŸãã4ã€ã®æ°å€ã®çµã¿åããã®æ°ã¯ãæåã®ãã¢ã®åèšã2çªç®ã®ãã¢ã®åèšã«çããããã次ã®ã¿ã¹ã¯ã®éµãšãªããŸãã
ãããã¯ïŒããžãã¯ãæé©åïŒæžãæãèŠæ±ïŒã
Vasyaãå€åããŠããéšéã«ã¯ããŸã 誰ãè¡ã£ãŠããªãå€ãã®ãªãŒãã³ã¿ã¹ã¯ããããŸãã
çŽèšå®ããŸãã Vasyaã¯æ¬åœã«ã§ããã ãæ©ãäŒæã«è¡ããããšæã£ãŠããŸããããã®ããã«åœŒã¯æ±ºããªããã°ãªããŸãã
KPIãæ»ããªãããã«ããããã®ã¿ã¹ã¯ããå°ãªããšãKã Vasyaã¯ããããã®æéãè¡šããŸã
圌ã¯åã¿ã¹ã¯ã®è§£æ±ºçãåããKåã®ã¿ã¹ã¯ãéçºããæ®ãã®ã¿ã¹ã¯ãäžããã
ä»ã®ããã°ã©ãã ãããã®Kã®åé¡ã解決ããã®ã«å¿
èŠãªæéãèŠç©ãã£ãVasyaã¯ãä»ãããã±ããã賌å
¥ããããã«äŒæã®éå§ã調æŽããããšã«ããŸããã Vasyaã®äžåžã¯éåžžã«æ
éã§ãããVasyaãæåŸã«éžæããã¿ã¹ã¯ãå®äºããæéããªããšèããããããã®éšåçã«è§£æ±ºãããã¿ã¹ã¯ãå¥ã®éçºè
ã«è»¢éããå¿
èŠããããæéãããããŸãã Vasyaã®äŒæã¯ããã®ã¿ã€ã ãªã¶ãŒãã確ä¿ããããã«é²ããããŸããã ã¿ã¹ã¯ãåªå
ãããéçºè
ã¯åªå
床ã®é«ãé ã«å®è¡ããå¿
èŠããããŸãã TASKSããŒãã«ã«ã¯ãã¿ã¹ã¯ã«é¢ããããŒã¿ãå«ãŸããŠããŸãã åã¿ã¹ã¯ã®ååã¯ãNAMEãéšéçªå·DEPARTMENT_NUMBERãPRIORITYåªå
床ïŒæ°å€ã倧ããã»ã©ã¿ã¹ã¯ã®åªå
床ãé«ãïŒãEXPECTED_TIMEã®æšå®æéãããã³æªè§£æ±ºã®ã¿ã¹ã¯ãå¥ã®ADDITIONAL_TIMEéçºè
ã«è»¢éããæšå®æéã§ãã Vasyaã¯ãã§ããã ãæ©ãäŒæãåãããã«ããããã®ã¿ã¹ã¯ããæ£ç¢ºã«KãéžæããŸããã ã€ãŸã ãããã®Kåã®ã¿ã¹ã¯ã®æšå®æèŠæéãšããããã®Kåã®ã¿ã¹ã¯ã®æåŸã®ïŒåªå
é äœã«ããïŒæšå®äŒéæéã®åèšã¯ãå¯èœãªéãæå°ã§ããã
çµç¹ã«ã¯è€æ°ã®éšéããããåéšéã«ã¯ç¬èªã®ãVasyaãããããŸãã ããŒãã«ã§
DEPARTMENTSã«ã¯éšéããŒã¿ã衚瀺ãããŸãïŒéšéçªå·DEPARTMENT_NUMBERããã³
Vasyaããã®éšéãã解決ããªããã°ãªããªãã¿ã¹ã¯Kã®æ°ã ã«æ³šæããŠãã ãã
åVasyaãã¿ã¹ã¯ãéžæã§ãããšããæå³ã§ãéšéã¯å®å
šã«ç¬ç«ããŠããŸã
ããªãã®éšéã®ã¿ã
åVasyaã®äŒæã®éå§ææã決å®ããå¿
èŠããããŸãã
圌ãã¯ã¿ã¹ã¯ãæé©ã«éžæããŸããã ã€ãŸããéšéDEPARTMENT_NUMBERã®Vasyaã¯Sæ¥éäŒæãåããŸããSã¯ãVasyaãéžæããã¿ã¹ã¯ã®æéãšæåŸã®ã¿ã¹ã¯ãå¥ã®éçºè
ã«è»¢éããæéã®åèšã«çãããªããŸãã ããŒãšããŠãèŠã€ãã£ãSçªå·ããéšéçªå·DEPARTMENT_NUMBERã®æé ã§ã¹ããŒã¹ãªãã®ã³ã³ãã§åºåã£ãŠäœ¿çšããŸãã ããŒãã«ã¯VACATIONSã¹ããŒãã«ãããŸãã
ãããã¯ïŒäžŠã¹æ¿ããããžãã¯ã
äœå¹Žãçµã¡ãŸããã ãã®éã人é¡ã¯æè¡çãªç¹ç°ç¹ãä¹ãè¶ãããŽã¡ã·ã£ã¯ãŸã åãäŒç€Ÿã§åããŠããŸããã ãããä»ã§ã¯ã圌ã®è³ã¯ãã§ã«äººå·¥ç¥èœãåããã¹ãŒããŒã³ã³ãã¥ãŒã¿ãŒã«æ¥ç¶ãããŠãããããVasyaã¯æ°åã®åé¡ãæ°ããªç§ã§è§£æ±ºã§ããŸããã ãã¹ãŠã®é©æ°ã«ãããããããVasyaã«ã¯ãäŒæäžã«æ©éããããšããåé¡ããŸã ãããŸãã éå»ã«å€ãã®çµ±èšãèç©ãããŠãããã¿ã¹ã¯ã®åªå 床ãäœãã»ã©ãã¿ã¹ã¯ãå¥ã®éçºè ã«è»¢éããããã«å¿ èŠãªè¿œå æéãçããªãããšãããããŸããã ãŸããåãéšéå ã§åãå®è¡æéã®2ã€ã®ã¿ã¹ã¯ãååšããå¯èœæ§ã¯ç¡èŠã§ããããšãããããŸããã
åã®ã¿ã¹ã¯ãšåãããã«å€æŽããå¿
èŠããããŸã
ããŒã¿ãMEGAVACATIONSã¹ããŒããDEPARTMENTSããã³TASKSããŒãã«ã«ããããšã確èªããŠãã ããã
VasyaãäœçŸäžãã®ã¿ã¹ã¯ã解決ã§ããããã«ãªã£ãããšã«çæããŠãã ããã
ããŒã¿ãæ¡ä»¶ãæºããïŒã¿ã¹ã¯TASK_i != TASK_j
ã1ã€ã®éšéãã
TASK_i.EXPECTED_TIME != TASK_j.EXPECTED_TIME
ããã³TASK_i.PRIORITY <= TASK_j.PRIORITY
ããã¯TASK_i.ADDITIONAL_TIME <= TASK_j.ADDITIONAL_TIME
ãŸãã
ãããã¯ïŒäžŠã¹æ¿ããããžãã¯ã
ãã£ãšïŒ..ããã¯ããã¿ã¹ã¯ã§ã¯ãããŸããã ããã¯å®éãä»äžãã§ãã ããã§ãšãããããŸãïŒ
ã¹ããŒã«ã«å¯ãããã£ãŠãç¬é¡ã§ãäž»å¬è ã«éãã«æãæ¯ããšã圌ããåã¶ããšãã§ããŸãã ããããä»ã®åå è ã®æ³šæããããããšãªããã¯ãŒã«ïŒ
ã¿ã¹ã¯ã«é¢ããã³ã¡ã³ã
ã¿ã¹ã¯ã«é¢ããããã€ãã®ã³ã¡ã³ãã å®éãæçµã¿ã¹ã¯ã®ããã«6åãæºåãããããã«ã¡ã€ã³ã®6åã解決ãããå Žåã¯2ã€ã®ããŒãã¹ã®é£æ床ãçšæãããŸããã ã¿ã¹ã¯ã¯é£æ床ã®é«ãé ã«é 眮ãããŸããã ãã®è€éããã©ã®ããã«æž¬å®ãããã¯ç解ã§ããªãã®ã§ãã©ããã§èŠèœãšãããããŸãã ããã«ã以åã®ãã¹ãŠã®åé¡ãããŒãã¹ã®åé¡ãšäžç·ã«è§£æ±ºããã¢ã³ã¹ã¿ãŒãçªç¶çŸããå Žåã¯ãããã«è€éãª2çªç®ã®ããŒãã¹ã¿ã¹ã¯ã®ããªãšãŒã·ã§ã³ã1ã€è¿œå ããŸãã
ã€ãŸããæåã®6ã€ã®åé¡ã«ã¯ç¢ºå®ã«ããªãã¯ã¯ãããŸãããSQLã§æžã人ã¯èª°ã§ããããã解決ããããšãã§ããæéã ãã§ååã§ãã ã¯ããè¿œå ã®ç¥èãšã¹ãã«ã䜿çšãããšããããã®åé¡ãè¿ éã«è§£æ±ºã§ããŸãã ããŒãã¹ã¿ã¹ã¯ã§ã¯ãåé¯è ã¯ãã§ã«å»ã£ãŠããŸãã 1ã€ç®ã¯ãåµé çã«åæãããããªãã®éã®ããŒã¿ã§ããã2ã€ç®ã¯ãæé©åã§ãã ããã«ãå°é£ãªã®ã¯ãããã§æé©åãå¿ èŠã§ãããšæšæž¬ããå¿ èŠããããšããäºå®ã«ãããŸãããé¡ãã®è§£æ±ºçãæ©èœããªããããç¹å¥ã«éžæãããããã§ãã è¿œå ã®ããŒãã¹ã¿ã¹ã¯ã§ã¯ãåã®ã¿ã¹ã¯ãšåãæ¹æ³ã§ã¯æ©èœããªããããã¢ã«ãŽãªãºã ã®æé©åãå¿ èŠã§ãã
次ã«ãå²ãåœãŠãããæéå ã«èª°ãæåŸãŸã§è¡ããªãããã«ããããã«ã2ã€ã®çã«ãªãªã³ãã¢ãŒãã®ã¿ã¹ã¯ãèšå®ããŸããã ãããŠãããããã°ã12çªã®ã¹ã¿ãã¯æ¬åœã«ããã§ãšãããããŸãã ãã¡ãããç§ãã¡ã¯ãããä¿¡ããŠããŸããã§ããããäžå¿ã®æ°åŠè ãå°éè·ã®ããã°ã©ããŒãšããŠãç§ãã¡ã¯ãã®ãããªå Žåãèæ ®ãã¹ãã§ããã
åèšã§ãåå è
ã¯æ倧6ã€ã®åé¡ã解決ãã7-8-9ã§ç«ã¡åŸçããããšãäºæ³ãããŸããã ãŸãã¯ãã以åã ææªã®äºæ
ã¯ã誰ããæåã®ã¿ã¹ã¯ã«çªç¶çªã£èŸŒãã å Žåã§ãã 圌ãïŒåå è
ïŒã«ãšã£ãŠã¯ãã3æéã®æ¥ããããããã€ãéããã§ãããåè
ã決ããåºæºã«ãã£ãŠå¿
æ»ã«é§ãå·¡ããŸãã ãããããèªåèªèº«ãä¿è·ããæåã®é
ç®ãšããŠããã€ãã®SELECT ROWID FROM DUAL
ã¿ã¹ã¯ãé
眮ããå¿
èŠããã£ãããã1ã€ã®åé¡ãæ£ç¢ºã«è§£æ±ºãããŸããã ããããèšç®ã¯æ£ããããšãå€æããæåã®ã¿ã¹ã¯ãªã©ããã¹ãŠè§£æ±ºãããŸããã
ã¿ã¹ã¯ã®åŸ©å·åã¯æ¬¡ã®ããã«è¡ãããŸãã
SELECT sql2017.decrypt('---', encrypted_text) FROM sql2017_tasks WHERE task_number = 2;
å ¬åŒã®ç®çã§ã¿ã¹ã¯ãæºåããããã»ã¹ã§ã¯ãããŒãã«ãžã§ãã¬ãŒã¿ãŒãã©ããªã³ã¹ãžã§ãã¬ãŒã¿ãŒãããã³æ£ããç®è¡åŒïŒ2åç®ãŸã§ïŒãã³ãŒããšçžäºåŒã³åºãã«å¿ èŠãªãã©ã¡ãŒã¿ãŒãåãããã±ãããžã§ãã¬ãŒã¿ãŒã人åã®åçŽãªãžã§ãã¬ãŒã¿ãŒãäœæãããŸããã
ãã€ãã®ããã«æéããããŸããã§ããã ããšãã°ãéžæãã圢åŒã§ã¯ã€ãŒã³ã¿ã¹ã¯ãå®è¡ããæ¹æ³ãããããŸããã§ããã
ãªã³ãµã€ããã¬ãŒãã³ã°ããœã2017幎6æ
ä»ããçŽç²ãªçç±ãã®è¿·å®®ãããç§ãã¡ã¯æ»ã®å°ã«æ»ããŸãã
ãœãã¯å€ã®æãããšç·ã«åºäŒããŸããã ãã§ãã¯ã€ã³ã¯æšææ¥ã«ãéææ¥ã«ã¯ãã¹ãŠã®ã«ããŽãªãŒã§æ±ºåæŠãè¡ãããŸããã ãã®åŸãé±æ«ã«æåããã°ã©ã ãéå¬ãããæææ¥ã«ã¯è³ã®æäžãšãã¬ãŒã³ããŒã·ã§ã³ãè¡ãããŸãã
ãµãŒããŒã«æºåãããããŒã¹ãæã¡èŸŒã¿ãŸããã åå è ãäžç·ã«å Žæãæã¡èŸŒã¿ãŸããïŒãã ããèªåèªèº«ã§ã¯ãªããååïŒã åãæ¡ä»¶ãäœæããããã«ããã¹ãŠã®ãŠãŒã¶ãŒãåãäºåæ§ææžã¿ãžã§ããæã€ããšã«ãªããŸããã å人çã«ã¯ãåå è ãèªåã®ã³ã³ãã¥ãŒã¿ãŒã䜿çšããããšãèš±å¯ãããŠããå ŽåããšããŸããã¯ãªåç©åã®æ¥ç¶ã«é¢ããåé¡ã®å¯èœæ§ãæããŠããŸããã krivorukyãšæ°žç¶çãªèª°ããããŸã-ãã©ãã«ã¯å±æ ¹ã®äžã«ãããŸãã ããã§åœŒãã¯åãã©ããããããæã£ãŠããŸããã ã¡ãŒã«ãŒããã®GUIãåããç¡æã®éçºããŒã«ãšããŠããã¡ã³ïŒå®éã«ã¯SQLclïŒããã³SQL Developeråãã®æ¬æ ŒçãªSQL * PLUSãæäŸããŠããŸãã å®ç掻ã®å人ã®1人ãSQL Developerãç©æ¥µçã«äœ¿çšããããšã¯èŠããŠããŸãããããã®åŸã¯å šå¡ãåãç¶æ ã«ãããŸããã ããŠããã©ãåããå¿ èŠã¯ãããŸãããå°ãªããšãã¡ã¢åž³ã§ã¯ãå¿ èŠãªSQLã¯ãšãªãäœã§ãåéã§ããSQL Developerã¯åé¡ãªãåäœããŸãã
æšææ¥ã«ç§ãã¡ã¯ãã®ãã¹ãŠã®çµæžããªãªã³ããã¯ãéå¬ããããªã«ãžã§ãããŒãŒéãã®ãªãªã³ããã¯å€§åŠã«æã¡èŸŒã¿ãŸããã çµç¹çãªåŸ ã¡äŒãããããŸããã SQLãã¡ã€ãã«çšã«2ã€ã®å°ããªéšå±ãå²ãåœãŠãããŸããã 1ã€ã§ã¯éã«é©åããŸããã ããŒã«ã«ãããã¯ãŒã¯ã¯ããã€ã¹ããã¢ããŒãã«ãã©ããããŸããã ä»ã«å¯Ÿå¿ããæ©äŒããªãã£ãã®ã§ãç§ãã¡ã¯æ¬è³ªçã«è¿é£ã®èŽè¡ã§2ã€ã®åæ決åãéå¬ããªããã°ãªããŸããã§ããã è¡ãããšãã§ããå¯äžã®ããšãšç§ãå€æŽããããšã¯åº§åžã§ããã åå è ãäºãã®ã¢ãã¿ãŒãèŠãæ©äŒããã£ãå Žåãããã¯ãŸã£ãã圹ã«ç«ã¡ãŸããã æå³çã«èŠã蟌ãããšã¯ãŸããããŸããããããŸããèŠç·ã«ã€ãŸãããæžããããã®ãèŠãªãããšã¯ãåé¡ã解決ããéã«è¡ãæ¢ãŸãã«ãªã£ã人ã«ãšã£ãŠã¯ããéãã§ãã ãã®ãããç§ã¯ãããã¯ãŒã¯äœæè ããã§ã«è¡ã£ãåªåã«äžæºãè¿°ã¹ãæåºãšããŠããŒãã«ãåç¶ã«é 眮ããŸããã äžéšã®å Žæã®åçã§ã¯ãç¹åŸŽçã«é 眮ãããåããŒãã«ãã¡ãã€ããŸãã
ã¯ã€ã€ããœã±ãããã©ãããããã®ããŠã³ããŒããšãã§ãã¯ãããŒã¿ããŒã¹ãžã®æ¥ç¶ã®èšå®ã¯è€éã§ã¯ãããŸããããããŸããŸãªå°ããªè³ªåãåžžã«çºçãããããé·ãéã§ãã ãã€ã¹ããã¢ãçµäºããåŸãããã®ãã¹ãŠã®ç©ŽãããžãŒã§ãããå¥ã®ç©Žãå¿ èŠã«ãªããŸãã ãããã¯ãŒã¯ã¯éé¢ãããŠããããšãå€æãããããIPã¢ãã¬ã¹ãé åžããã«ã¯DHCPãå¿ èŠã§ãã ãããã¯ãŒã¯æ§æã®å€æŽã®ããã«ã¢ãã¬ã¹ãåžžã«å®è¡ããŠæåã§å ¥åãããããã1ã€ã®DHCPãµãŒããŒãæ§æããæ¹ãç°¡åã§ãã ããã¥ã¡ã³ãã«ã¢ã¯ã»ã¹ããã«ã¯ãã€ã³ã¿ãŒããããžã®ã²ãŒããŠã§ã€ãå¿ èŠã§ã-æ§æãããåäœããŸããã ã€ãŸããå€é ããŸã§è»œåŸ®ãªãã©ãã«ã§ååã§ããã
ãããŠãæã«ç§ãã¡ã¯åŸ ã£ãŠããŸãã...
ãã¡ã€ãã«
å ¬åŒã®ãªãŒããã³ã°ã«ã€ããŠã¯äœãèšããŸããããããã¯SQLã®ããããŒããšé¢ä¿ããããŸãããç§ãã¡ã¯ãŸã£ããé¢äžããŠããŸããã ãªãªã³ããã¯ã«ã¯ããããã®äººãéãŸã£ããšããèšããŸããã ãããŒã®ã¬ã»ãã·ã§ã³ã§ã¯æ··éããŠããŸããã§ããã åæ¥ã«ãã§ãã¯ã€ã³ããŠãããžãããã£ãã®ã¯ããããšã§ãã
ã°ã©ã³ããªãŒãã³ã®åŸãç§ãã¡ã¯ããŒã«ã«æçµåå è ãéããéæè ã®ãªãŒããŒã®ããã«ããã¡ã€ãã«ã®æºåãã§ããŠããèŽè¡ã«åœŒããå°ããŸããã ããªãŒãã£ã³ã°ããã°ã€ã³ã®é åžãããŒã¿ããŒã¹ãžã®æ¥ç¶ã®æ€èšŒã決åæŠã®ã«ãŒã«ã®èª¬æãåé¡çªå·0ã®äŸã«ãããã¹ãåé¡ã®ãã³ãŒãã®å šå¡ã«ããæ€èšŒ æåã®ã¿ã¹ã¯ã®ä»£ããã«ãã¹ã¿ãããããŸãã äºåã«äœæãããã¯ãšãªã䜿çšãã解èªè ã®ãã°ã«ããããã¹ãã¿ã¹ã¯ãæ£ãã解èªã§ããŠããªããŠãŒã¶ãŒã远跡ããŸãã ãããããŸãããïŒ
ã¿ããªæºåã¯ããïŒ æåã®ã¿ã¹ã¯ãã¹ã¿ãããå®éã®ã¿ã¹ã¯ã«å€æŽãããã°ããªã»ããããŸãã è¡ããŸãããïŒ..
泚æãšç¶æ³ãç£èŠããŸãã ç¶æ³ãç£èŠãã解èªè ã®ãã°ããŒãã«ããéžæãã解決ãããåé¡ã®æ°ãšè§£èªæéã§ãœãŒããããšäŸ¿å©ã§ãããªãŒããŒã¯ç®ã®åã«ããŸãïŒæ³šæããŠããã©ã€ããã³ãŒãïŒã
select l.oracle_user, name, task , (select min(sent_date) from sql2017_log l2 where l.oracle_user=l2.oracle_user and l.task = task_number)+3/24 solve_time , tries from (select oracle_user , max(task_number) task , count(1) tries from sql2017_log group by oracle_user) l , sql2017_users u where u.oracle_user = l.oracle_user order by task desc, solve_time asc
ããã€ã質åããããŸãã ãã£ããŒã¬å šäœã®ã»ãã®äžéšã 12:15ã®ãªãŒããã³ã°ãšããªãŒãã£ã³ã°ã®èå³ãªéšåã®åŸã15ïŒ30ã«çµäºããŸããã çµäºæéã¯ãæ¬è³ªçã«ã¯ããã»ã©éèŠã§ã¯ãããŸããã§ãããäž»ãªããšã¯ãäºåã«æå®ããããšã§ããã 15ãã16ãŸã§æŒé£ããã£ããšããäºå®ããå§ããŸããã åå è ã30åé ãããã®ã¯æ®éã§ããæŒé£ãææŸããªãã®ã¯æ®é ·ã§ãã
ãã£ããŒã¬äžã®ããã€ãã®äºå®ã æåã®ã¿ã¹ã¯ã¯ãéå§ããŠãã4ååã«è§£æ±ºãããŸããã ãã¡ã€ãã«ã§ãªãŒããŒã3åå€æŽããŸããã3人ã®ãªãŒããŒã¯äžè¬çã«éåžžã«åçã«å€æŽãããŸããã , ( ). ( , ), , , . . .
. , , , , . , , , - â . . , , . , , â .
, , . , ( ) ( ).
, , . , , , . , .
, â .
. . , , , .
! . â ! , , - . , - , , , - . , , - . , . , , .