在使用sping 資料庫使用oracle 時,想要更新某一條記錄時,其他的執行緒不可操作此條記錄,可以使用select * from tablename where id=? for update; 這樣就可以把這條符合條件的記錄上鎖,行級鎖。什麼時候解鎖呢,這個需要 手動提交事務後 就解鎖了。spring 提供了手動提交事務的操作。
import org.springframework.transaction.transactionstatus;
import org.springframework.transaction.support.transactioncallback;
import org.springframework.transaction.support.transactiontemplate;
@autowired
transactiontemplate transactiontemplate;
transactiontemplate.execute(new transactioncallback()
} catch (exception e) ,error:,settlesequenceno:" ,errorcode.fnfibiz012.getcode(), errorcode.fnfibiz012.getmsg() , bankreturninforbo.getsettlesequenceno());
status.setrollbackonly();
throw new runtimeexception(e);
}return null;
}});
Oracle 分組 行轉列操作
1 原始資料 這個資料是下面sql 查出的資料 月份營業部 使用者型別 開戶獎調整 提成調整 薪酬支出調集成計 select a.trademonth trademonth,a.broker branch brokerbranch,decode b.user type,3 2 5 2 b.user ...
Oracle行轉列 行變列
在寫一些複雜的sql的時候,經常需要使用到行變列的技巧,一些帳務系統的統計也經常會寫到這樣的sql。主要用到了max decode或nvl這些函式來達到目的。寫下來讓大家互相學習學習!下面是乙個行變列的例子。如表row2column2有以下資料 名字 課程 分數 1 張三 語文 80 2 張三 數學...
行轉列操作
replace substring,substring index用法例項 源資料 mobile 123342,1232314,1243123,replace substring substring index mobile,a.id char length substring index mobi...