[問題] oracle Insert...returning into

看板C_Sharp (C#)作者 (孤單的人)時間11年前 (2014/03/07 21:43), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
請問 我用oracle的sequence來產生流水號, 以及trigger來組成 "產品名稱_ID" 的流水號(Varchar) 我必須在每次insert時取得這次的流水號,來做insert其他table的key值 所以用 sql="insert into table (C1,C2) value (V1,V2) RETURNING ID INTO :new_Id" ocCmd = new OracleCommand(sql, OracleConnect); if (OracleConnect.State != ConnectionState.Open) OracleConnect.Open(); ocCmd.Parameters.Add(new OracleParameter("new_id", OracleDbType.Varchar2,3200,ParameterDirection.Output)); ocCmd.ExecuteNonQuery(); sNew_ID = ocCmd.Parameters["new_id"].Value.ToString(); 取回的sNew_ID都是空值...... 但若把流水號不組成 "產品名稱_ID" ,只用ID 存成number 就可以成功回傳這次insert的ID.... 是因為 insert...returning into 不能傳回varchar嗎?? 還是我這段寫錯了? ocCmd.Parameters.Add(new OracleParameter("new_id", OracleDbType.Varchar2,3200,ParameterDirection.Output)); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.110.224.27
文章代碼(AID): #1J6Spk0O (C_Sharp)
文章代碼(AID): #1J6Spk0O (C_Sharp)