像这样的代码......
public void beforeUpdated(Log log){
synchronized(this){
query(log);
merge(log);
persist(log);
}
}
Run Code Online (Sandbox Code Playgroud)
此方法在多线程环境下运行.日志的CRUD必须是原子操作.但只需要同步相同id的日志(log.getUuid()).如果我锁定所有操作,它必须是一个性能不佳.我只希望同一个id的日志在原子操作下锁定.我该怎么做?如果你有任何想法,请帮帮我,谢谢.
我有一个select语句,需要在我的pl/sql中选择几十列到自定义变量中.如下所示:
select col1,
col2,
....
col30
into var1,
...
var30
from table
where ....
Run Code Online (Sandbox Code Playgroud)
在执行SP时遇到错误:
ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小
错误信息仅指出select语句的第一行号.即使我可以弄清楚我定义的变量太小而无法容纳列,但仍然难以精确定位错误定义的变量.这不是我调试此sp的有效方法.
有什么好主意,请告诉我.