Ì䣳 ¡¡¼ê³¸Æ½Ð¤·¤Ë´Ø¤¹¤ë¼¡¤ÎÀâÌÀ¤òÆÉ¤ó¤Ç¡¤ÀßÌä 1¡¤2 ¤ËÅú¤¨¤è¡£
¡Ì¼ê³¸Æ½Ð¤·¤ÎÀâÌÀ¡Í
¤¢¤ë¸À¸ì¤Ç½ñ¤«¤ì¤¿¸¶»Ï¥×¥í¥°¥é¥à 1¡Ê¿Þ 1 ¡Ë¤È¡¤¸¶»Ï¥×¥í¥°¥é¥à 2¡Ê¿Þ 2 ¡Ë¤¬¤¢¤ë¡£
¡¸¶»Ï¥×¥í¥°¥é¥àÃæ¤ÎÊÑ¿ô S ¤Ï¡¤ À°¿ô·¿¤ÎÂç°èÊÑ¿ô¤Ç¤¢¤ë¡£À°¿ô·¿¤Ï¥¡¼¥ï¡¼¥É Int ¤Çɽ¤¹¡£
¡¡¥¡¼¥ï¡¼¥É External ¤Ï³°Éô»²¾È¤ò¼¨¤¹¡£ External Int S ¤ÏÀ°¿ô·¿¤ÎÂç°èÊÑ¿ô S ¤Ø¤Î³°Éô»²¾È¤ò¡¤External Proc B ¤Ï ¼ê³ B ¤Ø¤Î³°Éô»²¾È¤ò¼¨¤¹¡£
¡¡ÊÑ¿ô X1 ¤Ï¡¤À°¿ô·¿¤Î¶É½êÊÑ¿ô¤Ç¤¢¤ë¡£
¡¡X1¡á100 ¤Ï¡¤ÊÑ¿ô X1 ¤Ë 100 ¤òÂåÆþ¤¹¤ë¡£
¡¡Call B(X1) ¤Ï¡¤ÊÑ¿ô X1 ¤ò¼Â°ú¿ô¤È¤·¤Æ¡¤ ¼ê³ B ¤ò¸Æ¤Ó½Ð¤¹¡£°ú¿ô¤Ï»²¾ÈÅϤ·¡Êcall by reference¡Ë¤Ç¤¢¤ë¡£
¡¡Proc B(Int X2) ¡Á End B ¤Ï¡¤ À°¿ô·¿¤Î²¾°ú¿ô X2 ¤ò¤â¤Ä¼ê³ B ¤ÎÈϰϤò¼¨¤¹¡£
²òÅú·²
¥¢¡¡¼ê³ A ¤Ë¤ª¤±¤ë¼ê³ B ¤Î»²¾È¡¡¡¡¡¡¡¡¥¤¡¡¼ê³ A ¤Ë¤ª¤±¤ëÊÑ¿ô X1 ¤Î»²¾È
¥¦¡¡¼ê³ B ¤Ë¤ª¤±¤ë¼ê³ C ¤Î»²¾È¡¡¡¡¡¡¡¡¥¨¡¡¼ê³ B ¤Ë¤ª¤±¤ëÊÑ¿ô S ¤Î»²¾È
¥ª¡¡¼ê³ B ¤Ë¤ª¤±¤ëÊÑ¿ô X1 ¤Î»²¾È¡¡¡¡¡¡¡¡¥«¡¡¼ê³ B ¤Ë¤ª¤±¤ëÊÑ¿ô X2 ¤Î»²¾È
¥¡¡¼ê³ C ¤Ë¤ª¤±¤ëÊÑ¿ô S ¤Î»²¾È
Ì䣴 ¡¡¼¡¤Î¥×¥í¥°¥é¥à¤ÎÀâÌÀ¡¤µ¼»÷¸À¸ì¤Îµ½Ò·Á¼°¤ÎÀâÌÀµÚ¤Ó¥×¥í¥°¥é¥à¤òÆÉ¤ó¤Ç¡¤ÀßÌä¤ËÅú¤¨¤è¡£
¡Ì¥×¥í¥°¥é¥à¤ÎÀâÌÀ¡Í
À®ÀÓɽ¥Õ¥¡¥¤¥ë¤òÆÉ¤ó¤Ç¡¤¸Ä¿Í¤´¤È¤Î¹ç·×ÅÀ¤ò·×»»¤·¡¤À®ÀÓ¤ÎÎɤ¤½ç¤Ë°õ»ú¤¹¤ë¡£ ¤¿¤À¤·¡¤¹ç·×ÅÀ¤¬Æ±¤¸¾ì¹ç¤Ï¡¤¹ñ¸ì¤ÎÅÀ¤ÎÎɤ¤½ç¤Ë°õ»ú¤¹¤ë¡£
(1)¡¡À®ÀÓɽ¥Õ¥¡¥¤¥ë¤ÎÍͼ°¤Ï¡¤¼¡¤Î¤È¤ª¤ê¤Ç¡¤¥ì¥³¡¼¥É¿ô¤Ï 99 °Ê²¼¤Ç¤¢¤ë¡£
(2)¡¡À®ÀÓɽ¤Î°õ»úÍͼ°¤Ï¡¤¼¡¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡£
¡Ìµ¼»÷¸À¸ì¤Îµ½Ò·Á¼°¤ÎÀâÌÀ¡Í
¡Ì¥×¥í¥°¥é¥à¡Í
a¡¤b¡¤e ¤Ë´Ø¤¹¤ë²òÅú·²
¥¢¡¡¡Êj¡Ý1¡Ë¡¡¡¡¡¡¡¡¥¤¡¡¡Êj¡Ü1¡Ë¡¡¡¡¡¡¡¡¡¡¡¡¥¦¡¡1
¥¨¡¡2¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ª¡¡99¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥«¡¡100
¥¡¡101¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥¯¡¡¡ÊÆþÎÏ·ï¿ô¡Ý1¡Ë¡¡¡¡¥±¡¡ÆþÎÏ·ï¿ô
¥³¡¡¡ÊÆþÎÏ·ï¿ô¡Ü1¡Ë
c¡¤d ¤Ë´Ø¤¹¤ë²òÅú·²
¥¢¡¡¡á¡¡¡¡¡¡¡¡¥¤¡¡¡â¡¡¡¡¡¡¡¡¥¦¡¡¡ä¡¡¡¡¡¡¡¡¥¨¡¡¡ã
Ì䣵 ¡¡´Ø·¸¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë´Ø¤¹¤ë¼¡¤Îµ½Ò¤òÆÉ¤ó¤Ç¡¤ÀßÌä 1¡¤2 ¤ËÅú¤¨¤è¡£
¸ÜµÒɽ¡¤Ãíʸɽ¡¤¼õÃíÌÀºÙɽµÚ¤Ó¾¦ÉÊɽ¤«¤é¤Ê¤ë´Ø·¸¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¤¢¤ë¡£
Îã¡¡SELECT ¼õÃíÌÀºÙɽ.¼õÃíÈÖ¹æ, ¸ÜµÒ̾, SUM(Ãíʸ¿ôÎÌ*ñ²Á) ¡¡ FROM ¼õÃíÌÀºÙɽ, ¸ÜµÒɽ, ¾¦ÉÊɽ, Ãíʸɽ ¡¡ WHERE ¸ÜµÒɽ.¸ÜµÒ¥³¡¼¥É = Ãíʸɽ.¸ÜµÒ¥³¡¼¥É ¡¡ AND ¼õÃíÌÀºÙɽ.¾¦ÉÊÈÖ¹æ = ¾¦ÉÊɽ.¾¦ÉÊÈÖ¹æ ¡¡ AND ¼õÃíÌÀºÙɽ.¼õÃíÈÖ¹æ = Ãíʸɽ.¼õÃíÈÖ¹æ
¥¢¡¡°ì¤Ä¤Î SELECT ʸ¤Ç·ë¹ç¤Ç¤¤ëɽ¤Ï»°¤Ä¤Þ¤Ç¤Ç¤¢¤ë¡£
¥¤¡¡Ê£¿ô¤Îɽ¤ò·ë¹ç¤·¤¿¾ì¹ç¤Ë SUM ´Ø¿ô¤ò»È¤Ã¤Æ½¸·×¤Ï¤Ç¤¤Ê¤¤¡£
¥¦¡¡¡ÈGROUP BY ¼õÃíÌÀºÙɽ.¼õÃíÈÖ¹æ¡É¤ò²Ã¤¨¤ëɬÍפ¬¤¢¤ë¡£
¥¨¡¡¡ÈGROUP BY ¼õÃíÌÀºÙɽ.¼õÃíÈÖ¹æ, ¸ÜµÒ̾¡É¤ò²Ã¤¨¤ëɬÍפ¬¤¢¤ë¡£
¥ª¡¡¡ÈORDER BY ¼õÃíÌÀºÙɽ.¼õÃíÈÖ¹æ¡É¤ò²Ã¤¨¤ëɬÍפ¬¤¢¤ë¡£
(1)¡¡¾¦ÉÊÈÖ¹æ¤òÃê½Ð¤¹¤ë¼¡¤Î SQL ʸ¤ò¼Â¹Ô¤·¤¿·ë²Ì¤Ï¡¤É½ 1 ¤Î¤È¤ª¤ê¤Ë¤Ê¤Ã¤¿¡£
SELECT ¾¦ÉÊÈÖ¹æ FROM Ãíʸɽ, ¼õÃíÌÀºÙɽ WHERE ¸ÜµÒ¥³¡¼¥É = 'A156' AND Ãíʸɽ.¼õÃíÈÖ¹æ = ¼õÃíÌÀºÙɽ.¼õÃíÈÖ¹æ
SQL ʸ
SELECT Éʼï FROM Ãíʸɽ, ¼õÃíÌÀºÙɽ, ¾¦ÉÊɽ WHERE ¸ÜµÒ¥³¡¼¥É = 'A156' AND Ãíʸɽ.¼õÃíÈÖ¹æ = ¼õÃíÌÀºÙɽ.¼õÃíÈÖ¹æ AND ¾¦ÉÊɽ.¾¦ÉÊÈÖ¹æ = ¼õÃíÌÀºÙɽ.¾¦ÉÊÈÖ¹æ SQL ʸ (SELECT ¼õÃíÌÀºÙɽ.¾¦ÉÊÈÖ¹æ FROM ¼õÃíÌÀºÙɽ, Ãíʸɽ WHERE ¸ÜµÒ¥³¡¼¥É = 'A156' AND ¼õÃíÌÀºÙɽ.¼õÃíÈÖ¹æ = Ãíʸɽ.¼õÃíÈÖ¹æ)
(2)¡¡SQL ʸ ¤Î¦Á¤Î°ÌÃÖ¤Ë DISTINCT ¤ò ÁÞÆþ¤·¤¿¤È¤¡¤½ÐÎÏ·ï¿ô¤Ï ¤Ë¤Ê¤Ã¤¿¡£
¥¢¡¡4¡¡¡¡¡¡¡¡¥¤¡¡5¡¡¡¡¡¡¡¡¥¦¡¡6¡¡¡¡¡¡¡¡¥¨¡¡7¡¡¡¡¡¡¡¡¥ª¡¡¡¡¡¡¡¡8¥«¡¡9¡¡¡¡¡¡¡¡¥¡¡10
Ì䣶 ¡¡¥³¥ó¥Ô¥å¡¼¥¿¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥¢¥¯¥»¥¹À©¸æ¤Ë´Ø¤¹¤ë¼¡¤Îµ½Ò¤òÆÉ¤ó¤Ç¡¤ÀßÌä¤ËÅú¤¨¤è¡£
¡¡X ¼Ò¤Ç¤Ï¡¤¼ÒÆâµÚ¤Ó´ØÏ¢²ñ¼Ò¤È¤ÎÄÌ¿®¤Ë¥Í¥Ã¥È¥ï¡¼¥¯¤ò»ÈÍѤ·¤Æ¤¤¤ë¡£ X ¼Ò¤Î LAN ¹½À®¤ò¿Þ¤Ë¼¨¤¹¡£ ÄÌ¿®¥×¥í¥È¥³¥ë¤Ï TCP/IP ¤òÍѤ¤¤Æ¤ª¤ê¡¤¿ÞÃæ¤Î¿ô»ú¤Ï¡¤IP ¥¢¥É¥ì¥¹¤òɽ¤·¤Æ¤¤¤ë¡£ ¤³¤Î IP ¥¢¥É¥ì¥¹¤Ï¡¤²Í¶õ¤Î¤â¤Î¤È¤¹¤ë¡£
´ØÏ¢²ñ¼Ò¤È¤ÎÀܳ¤ËºÝ¤·¤Æ¡¤¥»¥¥å¥ê¥Æ¥£¾å¤ÎÇÛ褫¤é¡¤´ØÌç¥ë¡¼¥¿¤òÀßÃÖ¤·¤Æ¤¢¤ë¡£ ´ØÌç¥ë¡¼¥¿¤Ï¡¤¥ë¡¼¥¿¤òÄ̲᤹¤ë¤¹¤Ù¤Æ¤Î¥Ñ¥±¥Ã¥È¤ÎÆâÍÆ¤ò¸¡ºº¤·¡¤ ÀßÄꤵ¤ì¤¿¾ò·ï¤Ë¹ç¤ï¤Ê¤¤¤â¤Î¤òÇË´þ¤¹¤ëµ¡Ç½¤ò¤â¤Ä¡£ ´ØÌç¥ë¡¼¥¿¤ËÀßÄꤹ¤ë¾ò·ï¤Ï¡¤ÀßÄê¥Æ¡¼¥Ö¥ë¤Ë¤¢¤é¤«¤¸¤áÅÐÏ¿¤·¤Æ¤ª¤¯¡£
¿Þ¡¡X ¼Ò¤Î LAN ¹½À®
¡¡´ØÌç¥ë¡¼¥¿Æâ¤ÎÀßÄê¥Æ¡¼¥Ö¥ë¤ÎÎã¤òɽ 1 ¤Ë¼¨¤¹¡£ ¾ò·ïÀßÄê¤Ï¡¤IP ÁؤǤμ±ÊÌÈÖ¹æ¤Ç¤¢¤ë IP ¥¢¥É¥ì¥¹¤È¡¤TCP ÁؤǤμ±ÊÌÈÖ¹æ¤Ç¤¢¤ë¥Ý¡¼¥ÈÈÖ¹æ¤ò ÁȤ߹ç¤ï¤»¤Æ¹Ô¤¦¡£ ¤¹¤Ê¤ï¤Á¡¤ÀßÄê¥Æ¡¼¥Ö¥ë¤Î°ì¤Ä¤Î¹Ô¤Ë IP ¥¢¥É¥ì¥¹¤È¥Ý¡¼¥ÈÈÖ¹æ¤ò»ØÄꤹ¤ë¤È¡¤ ¤½¤Î IP¥¢¥É¥ì¥¹µÚ¤Ó¥Ý¡¼¥ÈÈÖ¹æ¤Ë³ºÅö¤¹¤ë¥Ñ¥±¥Ã¥È¤À¤±¤¬´ØÌç¥ë¡¼¥¿¤òÄ̲᤹¤ë¤³¤È¤¬¤Ç¤¤ë¡£ ÀßÄê¥Æ¡¼¥Ö¥ë¤Î IP ¥¢¥É¥ì¥¹Íó¤Ë 0.0.0.0 Ëô¤Ï¥Ý¡¼¥ÈÈÖ¹æÍó¤Ë 0 ¤ò»ØÄꤹ¤ë¤È¡¤ ¤½¤ÎÍó¤Ë´Ø¤·¤Æ¤ÏÀ©¸Â¤·¤Ê¤¤¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ ¤Þ¤¿¡¤¡È¡§¡É¤ò¶´¤ó¤ÇÈϰϤò»ØÄꤷ¤¿¤È¤¤Ë¤Ï¡¤¤½¤ÎÈÏ°ÏÆâ¤Î IP ¥¢¥É¥ì¥¹Ëô¤Ï¥Ý¡¼¥ÈÈÖ¹æ¤Î ¥Ñ¥±¥Ã¥È¤òÄ̲ᤵ¤»¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ ´ØÌç¥ë¡¼¥¿¤òÄ̲ᤷ¤è¤¦¤È¤¹¤ë¥Ñ¥±¥Ã¥È¤Î¸¡ºº¤Ï¡¤ÀßÄê¥Æ¡¼¥Ö¥ë¤ÎºÇ½é¤Î¾ò·ï¤«¤é½ç¤Ë ¹Ô¤ï¤ì¡¤¤É¤Î¾ò·ï¤Ë¤âŬ¹ç¤·¤Ê¤¤¥Ñ¥±¥Ã¥È¤ÏÇË´þ¤µ¤ì¤ë¡£
ɽ£±¡¡´ØÌç¥ë¡¼¥¿Æâ¤ÎÀßÄê¥Æ¡¼¥Ö¥ë¤ÎÎã¡Êtelnet Âбþ¡Ë
IP ÁØ
TCP ÁØ
¡¡É½ 1 ¤ÎÀßÄêÎã¤Ç¤Ï¡¤¼ÒÆâ¤«¤é¼Ò³°¤Ø¤Î²¾ÁÛüËöµ¡Ç½¡Êtelnet¡Ë¥µ¡¼¥Ó¥¹¤Î¥Ñ¥±¥Ã¥ÈµÚ¤Ó ¤½¤ÎÊÖ¿®¤Ç¤¢¤ë¼Ò³°¤«¤é¼ÒÆâ¤Ø¤Î telnet ¥µ¡¼¥Ó¥¹¤Î¥Ñ¥±¥Ã¥È¤À¤±¤¬Ä̲á¤Ç¤¤ë¤è¤¦¤Ë ÀßÄꤷ¤Æ¤¤¤ë¡£ ¤½¤Î·ë²Ì¡¤¥Í¥Ã¥È¥ï¡¼¥¯±¿ÍÑ´ÉÍý²Ý¤Î PC-NA ¡Á PC-NE¡ÊIP¥¢¥É¥ì¥¹¤Ï100.1.1.1¡Á100.1.1.5¡Ë ¤«¤é X ¼Ò³°¤Î¥µ¡¼¥Ð¤¬Ä󶡤·¤Æ¤¤¤ë telnet ¥µ¡¼¥Ó¥¹¡Ê¥Ý¡¼¥ÈÈÖ¹æ¤Ï23 ¤Ç¸ÇÄê¡Ë¤¬ÍøÍѤǤ¤ë¡£ ¼Ò³°¤«¤é¤Î¥Ñ¥±¥Ã¥È¤Ï¡¤¥Ý¡¼¥ÈÈֹ椬 1026 °Ê¾å¤Î¥Ñ¥±¥Ã¥È¤À¤±¤òÄ̤¹¤è¤¦¤ËÀßÄꤷ¤Æ¤¤¤ë¡£
¡¡¤³¤ÎÍ×ÀÁ¤òËþ¤¿¤¹¤¿¤á¤Ë¡¤´ØÌç¥ë¡¼¥¿¤ÎÀßÄê¥Æ¡¼¥Ö¥ë¤Ë¤Ï¡¤¤É¤Î¤è¤¦¤Ê¾ò·ï¤ò »ØÄꤹ¤ì¤Ð¤è¤¤¤«¡£¼¡¤ÎÀßÄê¥Æ¡¼¥Ö¥ë¤Î ¤Ë Æþ¤ì¤ë¤Ù¤Ãͤò²òÅú·²¤ÎÃæ¤«¤éÁª¤Ù¡£ ¤³¤³¤Ç¡¤¥Ç¡¼¥¿Å¾Á÷¤Ë¤¢¤¿¤Ã¤Æ¡¤X ¼Ò¤Î¥µ¡¼¥Ð¤Ï¥Ý¡¼¥ÈÈÖ¹æ 1024 ¤È 1025 ¤ÎÆó¤Ä¤ò Ʊ»þ¤ËÍøÍѤ¹¤ë¤â¤Î¤È¤¹¤ë¡£²òÅú¤Ï¡¤½ÅÊ£¤·¤ÆÁª¤ó¤Ç¤â¤è¤¤¡£
ɽ£²¡¡´ØÌç¥ë¡¼¥¿Æâ¤ÎÀßÄê¥Æ¡¼¥Ö¥ë¡Ê¥Ç¡¼¥¿Å¾Á÷Âбþ¡Ë