天天看點

關系演算中的——更新操作 UPDATE語句實作(1)修改操作(2)HOLD與GET差別:

(1)修改操作

  修改操作用UPDATE語句實作,步驟是:

    1.首先用HOLD語句将要修改的元組從資料庫中讀到工作空間中    //将要修改的記錄讀到W中,意味着給詞條資料加鎖避免在操作時其他人操作導緻并發情況。

    2.然後用宿主語言(關系資料庫語言SQL可以嵌入在進階語言的程式中使用,進階語言可以是C、ADA、PASCAL、COBOL、或PL/I等,稱為宿主語言。)修改工作空間W中的元組的屬性值  //修改我們的資料内容值

    3.最後用UPDATE語句将修改後的元組送回到資料庫中  //最後從工作空間W中更新到資料庫當中

例:把201215127學生從計算機科學系轉到資訊系 

   HOLD   W (Student.Sno,Student.Sdept):Student.Sno=‘201215127’       
      //從Student關系中讀取201215127學生的資料



    MOVE  ‘IS’  TO  W.Sdept      
       //用MOVE語句修改工作空間W中的資料,注意現在還并沒有更新到資料庫當中

 

    UPDATE   W       
         //把修改後的元組送回到Student關系中
           

(2)HOLD與GET差別:

    單純查詢資料用GET語句,HOLD語句是帶上并發控制的GET語句

注意:

    1.如果修改操作涉及兩個關系的話,就要執行兩次HOLD-MOVE-UPDATE操作

    2.在ALPHA語言中,修改關系主碼的操作是不允許的    //不能更新主碼唯一ID

    3.如果要修改主碼值,隻能删除整條資料然後把新主碼值元組插入到關系中

繼續閱讀