普通列和標識列的轉換

/*老大的方法*/  
  --創建環境  
  CREATE   TABLE   t1(ID   int   IDENTITY,A   int)  
  GO  
  --插入數據  
  INSERT   t1   VALUES(1)  
  GO  
   
  --1.   將IDENTITY列轉換成普通列  
  ALTER   TABLE   t1   ADD   ID_temp   int  
  GO  
   
  UPDATE   t1   SET   ID_temp=ID  
  ALTER   TABLE   t1   DROP   COLUMN   ID  
  EXEC   sp_rename   N't1.ID_temp',N'ID',N'COLUMN'  
  INSERT   t1   VALUES(100,9)  
  GO  
   
  --2.     將普通列轉換成IDENTITY列  
  CREATE   TABLE   t1_temp(ID   int,A   int   IDENTITY)  
  SET   IDENTITY_INSERT   t1_temp   ON  
  INSERT   t1_temp(ID,A)   SELECT   *   FROM   t1  
  SET   IDENTITY_INSERT   t1_temp   OFF  
  DROP   TABLE   T1  
  GO  
   
  EXEC   sp_rename   N't1_temp',N't1'  
  INSERT   t1   VALUES(109999)  
  GO  
   
  --結果  
  SELECT   *   FROM   t1  
  /*  
  ID                     A    
  -----------------   -----------    
  1                       1  
  100                   9  
  109999             10  
  --*/

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章