.NET中SQLServer使用set @ReturnValue= @@IDENTITY的Oracle寫法

          最近還是在做這個項目,在上一篇文章中提到了。SQLServer的select @@identity在Oracle中的寫法但是不知道為什么我在執行的時候出現了錯誤。顯示字符錯了,四處查找資料。翻看Oracle的文檔,最后找到了一個完美替換的寫法。在SQLServer中使用是這樣的

          StringBuilder strSql=new StringBuilder();
          strSql.Append("insert into t_orders(order_num,user_num)");
          strSql.Append(" values (");
          strSql.Append("@order_num,@user_num)");
          strSql.Append(";set @ReturnValue= @@IDENTITY");
          SqlParameter[] parameters = {
          new SqlParameter("@order_num", SqlDbType.NVarChar,100),
          new SqlParameter("@user_num", SqlDbType.Int,4),
          new SqlParameter("@ReturnValue",SqlDbType.Int)};
          parameters[0].Value = model.order_no;
          parameters[1].Value = model.user_id;
          parameters[3].Direction = ParameterDirection.Output;

          以上這個方法就可以在運行之后使用parameters[3].Value取出剛剛插入的數據自增ID。但是在Oracle中,是本身沒有自增ID的,所以我采用觸發器與序列來實現自增列。但是Oracle是不支持set @ReturnValue= @@IDENTITY這種方式的。那么在Oracle中就必需這樣

          StringBuilder strSql=new StringBuilder();
          strSql.Append("insert into t_orders(order_num,user_num)");
          strSql.Append(" values (");
          strSql.Append(":order_num,:user_num)");
          strSql.Append(" returning id into :ReturnValue");
          SqlParameter[] parameters = {
          new SqlParameter(":order_num", SqlDbType.NVarChar,100),
          new SqlParameter(":user_num", SqlDbType.Int,4),
          new SqlParameter(":ReturnValue",SqlDbType.Int)};
          parameters[0].Value = model.order_no;
          parameters[1].Value = model.user_id;
          parameters[3].Direction = ParameterDirection.Output;

          使用以上方法就可以實現SQLServer中的set @ReturnValue= @@IDENTITY功能了。

          本博客所有文章如無特別注明均為原創

          如果覺得對你有幫助,可以通過下方打賞對作者表示鼓勵

          本文采用知識共享署名-非商業性使用-相同方式共享

          如若轉載,請注明出處:《.NET中SQLServer使用set @ReturnValue= @@IDENTITY的Oracle寫法》http://www.solariosolutions.com/767.html

          (0)
          打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
          鋒哥的頭像鋒哥管理員
          上一篇 2014年2月18日 11:27
          下一篇 2014年3月17日

          相關推薦

          發表回復

          登錄后才能評論
          国产厨房乱子伦露脸,XXXXAAA欧美,日本 888 XXXX,国产欧美日韩一区二区图片