cmd 에서 오라클 계정을 생성하고 권한을 주고 테이블을 덤프하는 명령어이다. sqlplus "/as sysdba" -> cmd에서 sqlplus로 오라클 접속 create user abc identified by 1234; ->abc라는 계정을 생성하고 비밀번호는 1234로 설정한것이다. alter user abc account unlock; -> abc계정의 lock을 푼다. grant connect, resource, dba to abc; -> abc계정에 db작업에 필요한 모든 작업을 준것이다. grant create session to abc; -> 세션생성 권한 grant create table to abc; -> abc 계정에 테이블 생성권한 주기 grant drop any table to ..
게시판의 댓글 쿼리가 마리아DB쿼리로 되어있어 이 쿼리문을 오라클쿼리로 바꿨다. 처음에 난 저 쿼리문을 오라클 쿼리로 따로바꿔줘야 되는지 몰랐다.. 위 쿼리문은 댓글을 Insert하는 쿼리인데댓글을 get하는 쿼리문에서 repNo값이 계속null로 나와 오류가 났다. 내가 사용하고있는프로젝트와 위 마리아DB를 사용한 프로젝트가 달라오류 찾기가 어려웠다. 변수명과 컬럼명이 다 달랐기 때문에난 당연히 컨트롤러 쪽이나 뭐 어디선가 내가 오타를 낸줄 알고계속 찾았는데 1시간동안 해결도 못하고 멍때리고 있는순간 갑자기 jqgrid사용했을때 쿼리문에서 keyProperty를 사용한것이떠올랐다. 바로 구글에 검색을 해보니 마리아DB/Mysql 이랑오라클에서 keyProperty를 사용할때 문법이 다르다고 한다... ..
요즘 MariaDB 쿼리를 오라클 쿼리로 바꾸면서배우는게 많은것 같다.이번엔 MariaDB에서 ON DUPLICATE KEY 를 오라클에서사용하기위해 바꿔 보겠다. 먼저 내가 바꾸려고 했던 MariaDB를 보자대부분 ON DUPLICATE KEY 를 사용하기 위해선아래와 구성이 비슷할 것이다. ON DUPLICATE KEY 에 대한 구성과 기능을 알아보자. INSERT INTO로 favorite 라는 테이블에 데이터를 삽입하려 한다.hno, member_nm 이라는컬럼에 VALUES로 파라미터값 #{hno}, #{memberNm}의 값을 넣는다. 이때 hno와 member_nm에 이미 값이 들어있다면ON DUPLICATE KEY 가 쓰이게 된다. ON DUPLICATE KEY 를 사용하여 만약 INSER..
게시판 댓글 기능에서 댓글은 해당 작성하고 있는게시글의 번호를 가지고 있어야 한다. 즉, 게시글 번호가 3번인 게시글에 댓글을 달려면 이 댓글은 게시글 3번 값을 가지고 있어야 한다. 보통 게시판 기능과 댓글 기능의 테이블은서로 다르다. Board 라는 게시판 글 작성테이블이 있다면 Board_Reply 라는 게시글의 댓글을작성하는 테이블이 있어야 한다. 게시글 번호의 컬럼이 hno라고 생각해보자.이 컬럼이 있는 테이블은 Board 가 될것이고, Board_Reply테이블에서는 hno 값을 가지고 있어야하기 때문에 외래키를 사용할 수 밖에 없다. 먼저 HeidiSQL 에서는 외래키 설정이 쉽다. 위처럼 그냥 메뉴탭에 외래키 설정이 있다왼쪽에 +추가 버튼 누르고 참조하려는 테이블과컬럼을 적어주면 된다. s..
어제 MariaDB로 만들어진 페이징이랑, 게시판 댓글 쿼리들을오라클 쿼리들로 바꿨다. 마이바티스에서 사용하는쿼리들은 바꾸는데 어렵지 않았다. (어차피 쿼리는 그게그거이기 때문에...)그런데 시퀀스랑 외래키 설정 때문에 시간을 얼마나버렸는지 모르겠다. 먼저 외래키 설정은 어렵지 않으니다음 포스팅에서 따로 알아보겠다. MariaDB를 편하게 사용 하기위해 개발툴을 HeidiSQL을썼다. 거기서 기본키로 설정된댓글에 번호 메기는 rep_no 라는 컬럼을 기본값으로AUTO_INCREMENT 줬다. 이것이 문제의 근원이다. 먼저 AUTO_INCREMENT 에 대해 알아보면오라클에서의 시퀀스다 값이 생성 될 때 마다 1씩 증가 시켜준다.즉 댓글 번호를 가르키는 rep_no 라는 컬럼이한번 생성 즉, 댓글이 한번 ..
4월 15일 정보처리기사 실기 시험이 있다. 작년 3회 실기에서 떨어져 이번에 다시보는데이번엔 꼭 좀 붙었으면 좋겟다. 알고리즘과 데이터베이스는쉬운데 IT신기술 동향이 외울게 너무 많아 어렵다.다시 실기 공부를 하려고 데이터베이스쪽부터 공부중이다. 그러던 와중 그냥 데이터베이스의 기본정의가 있어 보고있는데블로그에 데이터베이스의 기본 정의와 특징 글이 없으므로지금 포스팅 하려한다. 먼저 데이터베이스의 정의 이다.데이터베이스는 특정 조직의 업무를 수행하는 데 필요한 상호관련된 데이터 들의 모임으로 다음과 같이 정의할 수 있다. 통합 데이터(Integrated Data) : 검색의 효율성을 위해중복이 최소화된 데이터의 모임저장 데이터(Stored Data) : 컴퓨터가 접근 가능한 저장 매체에 저장된 데이터운..
이번엔 두 개 이상의 테이블을 사용하여SQL질의를 하는 방법에 대해 알아 보겠습니다. 먼저 테이블 하나를 사용했을때 입니다 이제 두 테이블을 합쳐서 사용 할 때 입니다 두개의 테이블을 사용하면 투플(행)의 개수는고객이 다섯 명이고 주문이 열 개이므로 5*10 해서50이 된다. Customer테이블의 1번고객 박지성은 orders 테이블의열 개 행 모두에 대해 결합하고 나머지 고개들도 각각 orders테이블의열 개 행 모두에 대해 결합한다이와 같이 조건이없는 테이블간의 조인을 카티전프로덕트 라고한다.그렇지만 결과는 논리에 맞이 않으므로 조건을 줘야한다.필요에 맞게 조건을 줘야하는데. 예를 들어 고객과고객의 주문에 관한 데이터를 구할땐필요한것이 박지성의 custid가 1이므로 orders 테이블에서 cust..
이번엔 HAVING 절에 대해 알아보겠습니다.HAVING 절은 GROUP BY 절의 결과 나타나는 그룹을 제한하는 역할을 합니다. 예를 들어주문 도서가 두 권 이상일 경우만 출력하려면아래와 같이 작성 해야합니다 HAVING 절을 사용하지 않으면 위와같은 결과가 나옵니다. WHERE절과 HAVING절이 같이 포합된 SQL문은검색 조건이 모호해 질 수 있습니다.때문에 HAVING 절은 반드시 GROUP BY 절과같이 작성해야 되고 WHERE절 보다 뒤에 나와야 합니다.또한 검색조건에 SUM, AVG, MAX, MIN, COUNT와 같은집계 함수가 와야합니다. 출처:오라클로 배우는 데이터베이스 개론과 실습(한빛아카데미)
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.