小编DRT*_*uli的帖子

Oracle Merge vs Select然后选择Insert或Update

什么更快?

合并声明

    MERGE INTO table_name 
     USING dual
     ON (row_id = 'some_id')
    WHEN MATCHED THEN
     UPDATE SET col_name = 'some_val'
    WHEN NOT MATCHED THEN
     INSERT (row_id, col_name)
     VALUES ('some_id', 'some_val')
Run Code Online (Sandbox Code Playgroud)

要么

查询select语句然后使用update或insert语句.

    SELECT * FROM table_name where row_id = 'some_id'
Run Code Online (Sandbox Code Playgroud)

如果rowCount == 0

    INSERT INTO table_name (row_id,col_name) VALUES ('some_id','some_val')
Run Code Online (Sandbox Code Playgroud)

其他

    UPDATE table_name SET col_name='some_val' WHERE row_id='some_id'
Run Code Online (Sandbox Code Playgroud)

sql oracle sql-merge

11
推荐指数
1
解决办法
2万
查看次数

在Java中获取硬链接计数

我需要一些东西来从java中的solaris10 os中的文件中获取硬链接数.

解析ls -l不是一个选项.

我尝试使用posix for java http://bmsi.com/java/posix/index.html但无法让它运行起来.

是否有任何其他轻量级API或代码来获取此信息?

java linux posix solaris-10

6
推荐指数
1
解决办法
1502
查看次数

显示 Rundeck 中所有项目的所有当前正在运行的作业

在我的 Rundeck 上有多个项目,这些项目下的作业是按计划触发的,有些运行几分钟到一个小时。

我想重新启动 rundeck 服务器以应用一些配置更改,而不必影响这些作业,因此我想知道每个项目中是否有任何当前正在运行的作业。

我知道我可以手动浏览每个项目并检查每个正在运行的作业,但我想立即查看所有内容。

这可能吗?

rundeck

6
推荐指数
1
解决办法
2215
查看次数

根据按另一列分组的不同列的最大值获取值

我想根据另一列分组的不同列的最大值来获取列的值.

我有这张桌子:

KEY NUM VAL
A   1   AB
B   1   CD
B   2   EF
C   2   GH
C   3   HI
D   1   JK
D   3   LM
Run Code Online (Sandbox Code Playgroud)

并希望这个结果:

KEY VAL
A   AB
B   EF
C   HI
D   LM
Run Code Online (Sandbox Code Playgroud)

我实际上可以使用此查询来获取它.

select KEY, VAL
from TABLE_NAME TN
where NUM = (
    select max(NUM)
    from TABLE_NAME TMP
    where TMP.KEY = TN.KEY
    )
Run Code Online (Sandbox Code Playgroud)

但是在ORACLE SQL(10g或更高版本)中有更优雅的方式来获得结果吗?

它背后的原因是实际上有多个KEYs,它看起来有点难看.

sql oracle

6
推荐指数
1
解决办法
4263
查看次数

Oracle sum group by date range

我有下表

+-----------+-------+-------+
| Date      | Type  | Value |
+-----------+-------+-------+
| 1/1/2013  | A     | 1     |
| 1/2/2013  | A     | 3     |
| 1/3/2013  | A     | 5     |
| 1/4/2013  | A     | 6     |
| 1/6/2013  | A     | 8     |
| 1/7/2013  | A     | 1     |
| 1/8/2013  | A     | 2     |
+-----------+-------+-------+
Run Code Online (Sandbox Code Playgroud)

我想对某一天的前 3 个日期的值求和,所以我使用了这个查询。即:sel_date = 1/3/2013。

select type, sum(value)
from table_name
where date <= seldate
and date > seldate - 3 …
Run Code Online (Sandbox Code Playgroud)

oracle oracle11g

2
推荐指数
1
解决办法
7713
查看次数

标签 统计

oracle ×3

sql ×2

java ×1

linux ×1

oracle11g ×1

posix ×1

rundeck ×1

solaris-10 ×1

sql-merge ×1