Oracle 給已創建的表增加自增長列


   對於已經創建的表,在特殊需求下,需要增加一個自增長列步驟:

--1. 增加 自增長列
Alter Table Limsbusinessenregisterinfo Add IdNum Number(18);

--2. 程序方式更新設置 IdNum 列 值

--3.查詢最大
Select (Max(IdNum)+1) From Limsbusinessenregisterinfo;

--4. 創建 自增長初始種子值 序列 
Create sequence seq_beReg_IdNum start with 2417 increment by 1;    

--5. 創建觸發器,插入時 自增長的值
CREATE OR REPLACE TRIGGER trg_beReg_IdNum
    Before Insert On Limsbusinessenregisterinfo
    FOR EACH ROW
  Begin
    select seq_beReg_IdNum.nextval into :new.IdNum from dual;      
END;

  第2步 C#代碼:

            Console.WriteLine("開始設置:");
            string sel_sql = "Select Id,code From Limsbusinessenregisterinfo a Order By added Asc ";
            DBUtil.DBSession db = new DBUtil.DBSession(DBUtil.DataBaseType.Oracle);
            DataTable data = db.QueryTable(sel_sql);

            for (int j = 0; j < data.Rows.Count; j++)
            {
                Console.WriteLine("設置:" + data.Rows[j]["code"].ToString());
                string id = data.Rows[j]["Id"].ToString();
                Hashtable ht = new Hashtable();
                ht.Add("IdNum", (j + 1));
                ht.Add("Id", id);
                db.Update(ht, "Limsbusinessenregisterinfo", "id", null);
            }
            Console.WriteLine("設置完成。。。");
            Console.ReadKey();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM