|
'팁&정보'에 해당되는 글 2건
[폭주기관차, 2007/04/18 09:40, [DBMS]/Oracle]
SELECT *<결과> USR ID USR TMP ----------- ----------- ----------- ----------- 2 48 2 62 3 4 3 75 3 4 3 13 13 55 22 67 5 rows selected. 즉, 좌측은 USR, ID 컬럼은 A Table, 우측 USR, TMP는 B Table을 의미 [가정] A.USR와 B.USR는 조인조건 B의 TMP가 62인 값이 데이터를 삭제 하려고 할 경우 DELETE FROM B명령을 수행하면 B테이블의 값은 지워지지만 A테이블의 값은 지울 수가 없다. 그럴 경우 ROWID IN이란 명령을 사용하면 된다. B테이블에 지워야할 조건을 가지고 있으므로 먼저 지워서는 안된다. DELETE FROM A<결과> 1 rows Deleted 1 rows Deleted 그렇다면 ROWID IN 안의 결과 값이 궁금할 것이다. (아래 결과는 데이터 삭제 전에 나온 값입니다.) SELECT A.ROWID<결과> ROWID ------------------- AAAHI8AAGAAIHQWAAD 1 rows selected. 음.. 무슨 뜻일까...? ㅋ (아래 결과는 데이터 삭제 전에 나온 값입니다.) SELECT ROWID FROM A;<결과> ROWID ------------------- AAAHI8AAGAAIHQWAAA AAAHI8AAGAAIHQWAAB AAAHI8AAGAAIHQWAAC AAAHI8AAGAAIHQWAAD 4 rows selected. Oracle에서는 테이블의 각 행에 ROWID란 고유 번호를 가지고 있는 것 같다.^^ 3개 이상 테이블 삭제시는 삭제할 ROWID를 따로 임시 테이블을 만들어서 삭제하면 편리할 듯 하다^^ 본 실험은 Oracle 9i에서 하였습니다. Trackback Address :: http://kongmks.cafe24.com/trackback/195
[폭주기관차, 2007/04/18 09:36, [DBMS]/Oracle]
SELECT *<결과> USR ID USR TMP ----------- ----------- ----------- ----------- 2 48 2 62 3 4 3 75 3 4 3 13 13 55 22 67 5 rows selected. 즉, 좌측은 USR, ID 컬럼은 A Table, 우측 USR, TMP는 B Table을 의미 <ROWNUM 활용> 각 행의 번호를 자동으로 출력해준다. SELECT ROWNUM<결과> ROWNUM USR ID TMP ----------- ----------- ----------- ----------- 1 2 48 62 2 3 4 75 3 3 4 13 4 13 55 5 22 67 5 rows selected. 유용하게 사용하세요~^^ 본 실험은 Oracle 9i에서 하였습니다. Trackback Address :: http://kongmks.cafe24.com/trackback/194
|
||





