UPDATEæ–‡

æ§‹æ–‡

{
    UPDATE 表å??
        SET 列å?? = 値
        [ , 列å?? = 値} ]*
        [WHERE節] |
    UPDATE 表å??
        SET 列å?? = 値
        [ , 列å?? = 値 ]*
        WHERE CURRENT OF
}

値�定義�以下�通り��。

å¼? | DEFAULT

一ã?¤ç›®ã?®æ›¸ã??æ–¹ã?¯æ¤œç´¢ã?«ã‚ˆã‚‹æ›´æ–°ã?¨ã?„ã?„ã€?WHERE節ã?ŒçœŸã?«è©•価ã?•れる全行ã?®ä¸€ã?¤ä»¥ä¸Šã?®åˆ—ã‚’æ›´æ–°ã?—ã?¾ã?™ã€‚

二ã?¤ç›®ã?®æ›¸ã??æ–¹ã?¯ä½?ç½®ã?«ã‚ˆã‚‹æ›´æ–°ã?¨ã?„ã?„ã€?æ›´æ–°å?¯èƒ½ã?ªé–‹ã?„ã?Ÿã‚«ãƒ¼ã‚½ãƒ«ã?®ç?¾åœ¨è¡Œã?®ä¸€ã?¤ä»¥ä¸Šã?®åˆ—ã‚’æ›´æ–°ã?—ã?¾ã?™ã€‚カーソルを作æˆ?ã?™ã‚‹SELECTæ–‡ã?®FOR UPDATE 節ã?«ã?¦åˆ—ã?Œæ˜Žç¤ºã?•れã?Ÿå ´å?ˆã€?ã??ã?®åˆ—ã? ã?‘ã?Œæ›´æ–°å?¯èƒ½ã?§ã?™ã€‚ã‚‚ã?—列ã?Œæ˜Žç¤ºã?•れã?¦ã?„ã?ªã?„ã?‹SELECTæ–‡ã?«FOR UPDATE節ã?Œç„¡ã?‹ã?£ã?Ÿå ´å?ˆã?¯ã€?å…¨ã?¦ã?®åˆ—ã‚’æ›´æ–°ã?§ã??ã?¾ã?™ã€‚

更新後�値�DEFAULTを指定�る��表��定義�れ�既定値�列�値�設定�れ��。

例



-- 'E21'�部署(WORKDEPT)��管�者以外�一時的���属�れ��る。
-- ����を�EMPLOYEE���表�彼ら�仕事(JOB)をNULL��
-- 彼ら��支払�(SALARY, BONUS, COMM)を0����ら��。 
UPDATE EMPLOYEE
  SET JOB=NULL, SALARY=0, BONUS=0, COMM=0
  WHERE WORKDEPT = 'E21' AND JOB <> 'MANAGER'

-- 特定ã?®è‚©æ›¸ã??ã‚’æŒ?ã?Ÿã?ªã?„社員を管ç?†è€…ã?«æ˜‡æ ¼ã?™ã‚‹ã€‚
UPDATE EMPLOYEE
	SET JOB = 'MANAGER'
	WHERE JOB IS NULL;
// 全��プロジェクト�人員�置(PRSTAFF)を1.5増や�。
stmt.executeUpdate("UPDATE PROJECT SET PRSTAFF = "
"PRSTAFF + 1.5" +
"WHERE CURRENT OF" + ResultSet.getCursorName());

-- EMPLOYEE���表��社員番�(EMPNO)�'000290'�社員�仕事(JOB)を�
-- 既定値��るNULL�更新�る。
UPDATE EMPLOYEE
  SET JOB = DEFAULT
  WHERE EMPNO = '000290'

文��存

検索ã?«ã‚ˆã‚‹æ›´æ–°ã?®æ–‡ã?¯ã€?æ›´æ–°ã?—よã?†ã?¨ã?—ã?¦ã?„る表やã€?ã??ã?®ã‚³ãƒ³ã‚°ãƒ­ãƒžãƒªãƒƒãƒˆ(ヒープや索引ã?ªã?©ã?®è¨˜éŒ²å?˜ä½?)ã€?ã??ã?®åˆ¶ç´„ã€?WHERE節やSETå¼?ã?«æ›¸ã?‹ã‚Œã?Ÿè¡¨ã?«ä¾?å­˜ã?—ã?¾ã?™ã€‚検索ã?«ã‚ˆã‚‹æ›´æ–°ã?®æº–å‚™ã?•れã?Ÿæ–‡ã?®å¯¾è±¡è¡¨ã?«CREATE INDEXã‚„DROP INDEXæ–‡ã€?ALTER TABLEæ–‡ã?Œå®Ÿè¡Œã?•れるã?¨ã€?ã??ã?®æ–‡ã?¯ç„¡åйã?¨ã?ªã‚Šã?¾ã?™ã€‚

ä½?ç½®ã?«ã‚ˆã‚‹æ›´æ–°ã?®æ–‡ã?¯ã‚«ãƒ¼ã‚½ãƒ«ã‚„カーソルã?Œå?‚ç…§ã?™ã‚‹å…¨ã?¦ã?®è¡¨ã?«ä¾?å­˜ã?—ã?¾ã?™ã€‚カーソルã?Œã?¾ã? é–‹ã?„ã?¦ã?„ã?ªã??ã?¨ã‚‚ã€?ä½?ç½®ã?«ã‚ˆã‚‹æ›´æ–°ã?®æ–‡ã‚’コンパイルã?™ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚ã?—ã?‹ã?—ã?ªã?Œã‚‰JDBCã?®closeメソッドã?«ã‚ˆã‚Šé–‹ã?„ã?Ÿã‚«ãƒ¼ã‚½ãƒ«ã‚’ã?ªã??ã?™ã?¨ã€?ä½?ç½®ã?«ã‚ˆã‚‹æ›´æ–°ã?®æ–‡ã?¯ç„¡åйã?¨ã?ªã‚Šã?¾ã?™ã€‚

ä½?ç½®ã?«ã‚ˆã‚‹æ›´æ–°ã?®æº–å‚™ã?•れã?Ÿæ–‡ã?®å¯¾è±¡è¡¨ã?«ã€?CREATE INDEXã‚„DROP INDEXæ–‡ã€?ALTER TABLEæ–‡ã?Œå®Ÿè¡Œã?•れるã?¨ã€?ã??ã?®æ–‡ã?¯ç„¡åйã?¨ã?ªã‚Šã?¾ã?™ã€‚

別å??を破棄ã?™ã‚‹ã?¨ã€?ã??ã?®åˆ¥å??を使ã?£ã?¦ã?„ã‚‹æ›´æ–°ã?®æº–å‚™ã?•れã?Ÿæ–‡ã?¯ç„¡åйã?«ã?ªã‚Šã?¾ã?™ã€‚

更新�対象表��トリガ�破棄や作��行�れる��更新�文�無効��り��。