본문 바로가기

Database

(52)
toad oralce procedure dubugging DBMS output 후....-_- 토드가 버전마다 하는 방법이 틀려서 꽤나 애 먹었다.(자료를 찾을수가 없어서 토드 버튼 한번씩 다 눌러봤네;;) 해보면 꽤나 간단하다.(VS디버깅과 비슷하다.) Toad 버전 : 9.7.2.5 Oracle : 10g 간단하게 DBMS_output.put_line()를 찍어볼것이다. 1.않해도 되지만 원하는 라인옆에 마우스를 클릭하면 브레이킹 포인트가 걸린다. 2. 메뉴에서 Debug -> Run(F11) 버튼을 눌러준다. 3. 실행하기전에 컴파일을 하겠단다. 디버깅용 컴파일이기 때문에 서버엔 적용이 않되니 안심하고 예를 눌러주자. 4. 디버깅할때의 정보를 원하냐는 질문이다. 당연히 예 5. 만일 프로시져의 in, out 파라미터가 있다면 파라미터를 받을 찾이 뜬다. 원하는 값들을 out ..
sql rollup 합계 음.. 간단히 말하면 select 출력후 마지막에 합계를 나타내는 sql 이다. rollup을 사용하면 아주 간단하게 할수 있다. SELECT e.ename, SUM (e.sal), d.dname FROM emp e, dept d WHERE e.deptno = d.deptno GROUP BY ROLLUP ( (e.ename, d.dname)) - 원하는 그룹 함수를 쓴다음 그룹 함수를 쓰지 않은 나머지 칼럼들을 rollup()안에 쓰면 된다. ps) rollup() 안에 들어가는 이름은 사용자가 만든 별칭이 아니라 칼럼이름이여야 한다. 만일 나타내는 값이 e.ename || d.dname as ed 이렇게 되어 있다면 rollup()안에는 rollup(e.ename, d.dname)를 써줘야 한다.
오라클 9i sql & pl/sql 완독. 흠.....-0- 이거 초급자 책은 아닌듯;; 다른책 읽고 읽으니까 그렇지 초보자가 읽으면 너무 광범위한거 배우는 목차들이다;; join 이 달랑 한 챕터라니..-0- 가장 중요한건데.....ㅜㅡㅜ 오히려 프로시져와 pl/sql 에 치중이 강하다. 단순한 select 날리는게 아닌 시스템 구축 하기 전에 한번쯤 읽어보면 좋을듯... (나중에 임베디드 sql은 건너 뛰었다;; 정말 나에겐 쓸모없어서;; 언젠가 다시 읽지 뭐) 오히려 맨 끝에 있는 데이터베이스 분석/설계가 있어서 놀랬음. 이런 챕터가 많았더라면. 예제가 더 있었더라면 좋았을텐데.. 살짝 아쉬운책. - 그나저나 이책 3일이나 걸렸네. 업무 시간에 책보고 있어서..거참;;;ㅋ
두개의 테이블에 동시에 값 넣기. 아..이런게 가능하군요. 전 무조건 java로 해서 쿼리를 두번 돌렸는데..;; 간편하네요;; 테스트를 위해서 X,Y 라는 테이블을 만들어 봤습니다. SQL> create table x (numberX number); 테이블이 생성되었습니다. SQL> create table y (numberY number); 테이블이 생성되었습니다. 멀티 insert 를 사용해서 넣어봤습니다. insert all into x values(input) into y values(input) select &input as input from dual; if문 과 switch문 처럼 원하는 행에 넣을 값을 조정도 할수 있다.;; - 신기한 문법이 많구나. join 만으로도 벅찬데 잼있는것도 많다.
간단한 join 문제 강좌를 듣다가 초보 join 문제가 있어서 올려본다. (걱정마세요. 저도 푸는데 30분이나 걸렸습니다;;) 각각의 테이블 정보는 다음과 같습니다. 테이블 X T A B 1 1 1 2 1 1 3 1 1 테이블 Y T C D 3 2 2 4 2 2 5 2 2 테이블 Z T E F 5 3 3 6 3 3 7 3 3 X 의 T 엔 1,2,3 A와B엔 모두 1이 들어있습니다. Y 의 T 엔 3,4,5 C와D엔 모두 2가 들어있습니다. Z 의 T 엔 5,6,7 E와F엔 모두 3이 들어있습니다. 위의 테이블들을 조인을 통해서 다음과 같이 출력하시오. T A B C D E F 1 1 1 2 1 1 3 1 1 2 2 4 2 2 5 2 2 3 3 6 3 3 7 3 3 -_- 답 보시지 마시고! 한번 풀어보세요! 첫번째 sel..
sql 프로시져 만들기 도전~! 오라클 책 100페이지도 나가기 전에 개발하는데 프로시져를 너무 많이 써서 대체 뭐길래 이렇게 쓰나~ 호기심으로 했다가..하루를..-0- 복수행 함수도 못쓰는 사람이 이런걸 건드니 당연한 결과일지도. (C로 치면 이제 구구단 짜는 사람이 mfc로 프로그램을 만들려는것과 같은거..) 어쟀든 간단한 프로시져 하나를 만들어서 돌려보는게 목적! 프로세서는 number 을 받아서 +1 를 해줘서 내보내주는 간단한 프로시져이다. 먼저 프로시져를 만들려면 몇가지 구문 규칙이 있는데 create or replace procedure 프로시져 이름 ( 파라미터 1, 파라미터 2, ....) is BEGIN 실행부; [EXCEPTION 예외처리부;] END [프로시져 이름]; 위와 같이 구성이 된다. 먼저 create o..
DA# 교육에서 그렸던거... 근데..맨날 보던거라..-_- 그리는건 쉬운데.. 모델링은..어렵다.. 내년부터는 모델링도 같이 공부해야겠다.
java.sql.SQLException: ORA-01002 java.sql.SQLException: ORA-01002: 인출 시퀀스가 틀립니다 발생 원인 : for update" 문을 수행하기전에 commit이 Autocommit로 실행 되었기 때문이었다. 처리 : con.setAutoCommit( false ); 를 붙여서 해결.