Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Oracle列数增加_Sql_Database_Oracle10g - Fatal编程技术网

Sql Oracle列数增加

Sql Oracle列数增加,sql,database,oracle10g,Sql,Database,Oracle10g,我想知道当Oracle中的第2列值发生变化时,如何将第1列中的行数增加1 我希望实现以下目标: COL1 COL2 COL3 | 1 2000 xx | 1 2000 xy | 1 2000 xyz | 2 3020 x | 2 3020 xiii | 3 5666666 ueueu 有什么想法吗 我想您正在寻找一个窗口功能: select row_number

我想知道当Oracle中的第2列值发生变化时,如何将第1列中的行数增加1

我希望实现以下目标:

 COL1   COL2    COL3 |
 1      2000    xx   |
 1       2000   xy   |
 1      2000    xyz  |
 2      3020    x    |
 2      3020    xiii |
 3      5666666   ueueu

有什么想法吗

我想您正在寻找一个窗口功能:

select row_number() over (partition by col2 order by col3) as col1,
       col2, 
       col3
from the_table;

如果您想在更新表
t
上的
col2
后增加
col1
值,则可以使用触发器

CREATE OR REPLACE TRIGGER upcol1
  AFTER UPDATE ON t_ FOR EACH ROW
  WHEN (old.col2 != new.col2)
BEGIN
  UPDATE t_ SET col1=:new.col1+1
    WHERE col2=:new.col2 AND col3=:new.col3;
END;

你想用这些值更新col1吗?是的@Sebas这就是我想要实现的。