이관 예를 들어 Larry의 시퀀스 번호를 2로 설정하면 Larry의 시퀀스를 3으로 변경하면 John은 1을, 다음으로 John은 1이고 Ana는 2가됩니다. 시도는 중첩 된 테이블을 사용하는 것입니다,하지만 난 2 테이블을 중첩하려고 힘든 시간을 보냈습니다. 당신이 쉬운 방법을 안다면 나는 감사 할 것입니다.정렬 방법 내가</p> <p>서열 이름 LAST_NAME이</p> <p>1 래리 올슨은</p> <p>2 존 설리반</p> <p>3 아나 페레 르</p> <p>내가 변화 노력이 테이블이 순서
0
A
답변
0
시퀀스 번호가 시퀀스에서 왔고이 값을 주변으로 이동하는 경우 새 숫자를 "작성"하지 않으면 제약 조건이 해제됩니다.
임시 테이블을 사용하여 tab1 (실제 테이블)에서 tmptab (임시 테이블)로 행을 이동합니다. tmptab에서 데이터를 업데이트하십시오. tab1에서 thre 행을 삭제 한 다음 tmptab에서 해당 행을 삽입하십시오.
중첩 테이블없이 이것을 시도하십시오 : tab1
및 tmptab
- 먼저 더미 테이블에 대한 경고 연습.
create table tmptab as
(select * from tab1 where seq <= 3);
update tmptab set seq =1 where name='Ana';
update tmptab set seq =2 where name='John'; -- this is just an example
commit;
delete from tab1 where seq<=3;
insert into tab1
values(seq, Name, Last_Name)
select seq, Name, Last_Name
from tmptab;
commit;
drop table tmptab;