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()
?