Oracle 不使用sno显示数据

Oracle 不使用sno显示数据,oracle,plsql,Oracle,Plsql,我有一个表,有两列sno和userid 我想要的是,当将具有相同userid的记录插入表中时,sno会增加(如第一条记录1和第二条记录2) 如果插入了新的userid记录,则sno从第一条记录开始(如第一条记录1和第二条记录2) 请帮帮我……以下内容应满足您的要求: INSERT INTO SOME_TABLE (SNO, USERID) VALUES ((SELECT NVL(MAX(SNO)+1, 1) FROM SOME_TABLE

我有一个表,有两列
sno
userid

我想要的是,当将具有相同
userid
的记录插入表中时,
sno
会增加(如第一条记录1和第二条记录2)

如果插入了新的
userid
记录,则
sno
从第一条记录开始(如第一条记录1和第二条记录2)


请帮帮我……

以下内容应满足您的要求:

INSERT INTO SOME_TABLE (SNO, USERID)
  VALUES ((SELECT NVL(MAX(SNO)+1, 1)
             FROM SOME_TABLE
             WHERE USERID = &userid),
          &userid);
其中,
&userid
是您的userid值


你的问题不清楚。请格式化它并清楚地询问。在回滚的情况下,这应该如何表现?在并发插入的情况下,这应该如何表现?在这种情况下,我们不能让两个内部查询返回相同的
MAX()