일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 오라클
- 자바스크립트
- Eclipse
- 인텔리제이
- mybatis
- 디비버
- Javascript
- svn
- Redis
- db
- HTTP
- Tomcat
- 보안
- 모바텀
- IntelliJ
- JSON
- 상태코드
- 마이바티스
- oracle
- git
- Server
- 톰캣
- Linux
- 자바문법
- SQL
- java
- 이클립스
- DBeaver
- 자바
- JQuery
- Today
- Total
목록oracle (10)
JongTachi의 개발 블로그
스프링으로 서버를 띄우는데 갑자기 이런 에러가 나더군요. ERROR: org.apache.ibatis.executor.BaseExecutor - Could not get a databaseId from dataSource java.sql.SQLException: Cannot load JDBC driver class 'oracle.jdbc.OracleDriver' 해당 에러는 tomcat이 데이터베이스와의 접근 중 에러가 발생한 상황입니다. 톰켓에서 오라클 드라이버가 설정되지 않아서 생기는 에러입니다. 해결방법 해결방법은 다음과 같습니다. 1. 오라클을 설치한 폴더 안에 있는 jdbc 파일을 톰캣 라이브러리에 넣으면 오류가 해결됩니다. (못 찾겠다면 구글링으로 원하는 버전의 라이브러리를 검색 후 다운받으면..
오늘은 테이블에 대해 권한을 부여받은 사람이 다른 사람에게 권한을 줄 수 있는 옵션인 WITH GRANT OPTION에 대해 알아보겠습니다. 예시 사용자 A B C 각 사용자가 갖고 있는 테이블 A_TABLE B_TABLE C_TABLE 상황 : 사용자 B가 사용자 A의 A_TABLE에 대한 권한을 가져와 C에게 공유하려 합니다. 쿼리문은 다음과 같습니다. -- A_TABLE에 대한 조회 권한을 B사용자에게만 허용 GRANT SELECT ON A_TABLE TO B -- A_TABLE에 대한 조회 권한을 B사용자 뿐만아닌 다른 사용자에게도 허용 GRANT SELECT ON A_TABLE TO B WITH GRANT OPTION; 여러분 생각해봅시다. B는 A가 소유한 A_TABLE에 대한 조회 권한을 가..
오라클에서 '권한(GRANT)'을 부여하고 잘 들어갔는지, 혹은 어떠한 권한이 있는지 확인하는 시간을 가져봅시다. 일단 오라클에서의 권한 테이블은 다음과 같습니다. 권한테이블 : USER_TAB_PRIVS 1. 부여된 권한 조회 (FUNC, PROCEDURE, PACKAGE) SELECT * FROM USER_TAB_PRIVS WHERE OWER = 'USER01' AND GRANTEE = 'USER02' AND PRIVILEGE = 'EXCUTE' ORDER BY TABLE_NAME;
오라클에서 데이터를 조회할 때 간혹가다 -> 'xx회의소' 회식장소는 다음과 같습니다. 작은 따옴표가 들어간 데이터가 있을 땐 어떻게 쿼리문을 작성해야하는지 난감할 때가 간혹 있는데요. 해당 방법은 작은따옴표를 연속해서 입력하면 됩니다. -> '' 이렇게 해서는 몽말인지 모르겠으니 예시를 살펴보겠습니다. 저는 해당 테이블에서 BTS 멤버 '정국'의 불그리 를 조회하려고 합니다. (급 불그리 땡기네..) 밑에 쿼리문처럼 조회를 하면 SELECT * FROM restaurant.menu rm WHERE rm.name = 'BTS 멤버 ''정국''의 불그리' ; 이렇게 조회가 된답니다. 저는 불그리를 먹으러.. 이만
오라클 데이터베이스를 11g 버전을 사용하다 업그레이드를 했는데 갑자기 쿼리문 에러가 나더라구요. 오류를 찾아보니 wm_concat 함수 부분에서 에러가 났습니다. 버전이 업그레이드 되면서 wm_concat을 사용할 수 없게된 것입니다. 해결 방법은 아주 간단합니다. wm_concat(컬럼명) -> listagg(컬럼명, ',') within group (order by 컬럼명) -- ex) 예시 -- wm_comcat() select dept_id, wm_concat(user_name) from employee group by Dept_id; -- listagg() select dept_id, listagg(user_name, ',') within group (order by user_name) fro..
얼마전 쿼리문을 작성하는데 "ORA-01789 : 질의 블록은 부정확한 수의 결과 열을 가지고 있습니다." 라는 에러가 났습니다. 저는 UNION을 하는 과정에서 에러가 났는데요. 결론부터 말씀드리면 UNION시 select문열의 수가 서로 일치하지 않아서 나는 에러였습니다. 코드로보면 이런 상황이라고 보시면 됩니다. SELECT COLUMN_1, COLUMN_2 FROM TABLE_1 UNION SELECT COLUMN_3 FROM TABLE_2; -- 위에 코드를 보면 TALBE_1과 TABLE_2에서 불러오는 열의 갯수가 다른 것을 확인할 수 있습니다. 서로 SELECT해서 불러오는 열의 갯수가 다르기 때문에 저런 에러가 났던덥니다. UNION하기 전에 SELECT 해오는 열을 잘 확인해서 쿼리문을..
DB에 있는 데이터를 옮겨야 하는데 테이블끼리 컬럼이 같고 데이터의 형태가 같다면 편하게 SELECT를 이용하여 INSERT하는 방법이 있습니다. 주의 : 해당 문은 SELECT문을 적용하는 테이블과 INSERT할 테이블의 컬럼이 같거나 포함되어야 합니다. -- TEST_2에 있는 데이터르 TEST_1에 넣기 INSERT INTO TEST_1 SELECT * FROM TEST_2; 깨알지식 데이터 INSERT시 묵시적 형변환 데이터를 넣을 땐 기본적으로 테이블 컬럼의 데이터 타입과 입력할 데이터 타입을 맞춰줘야 합니다. 하지만 이렇게 맞춰주지 않아도 데이터 삽입에 성공하는 경우가 있는습니다. 이는 오라클에서 자동으로 데이터 변환을 해주었기 때문입니다.
Oracle에서 다중 insert문 하는 방법은 다음과 같습니다. INSERT ALL INTO 테이블명 (컬럼명) VALUES (값) SELECT * FROM DUAL; 밑에 예시를 보면 이해하기가 편하실겁니다. INSERT ALL INTO TEST (NAME, AGE) VALUES ('장현', 18) INTO TEST (NAME, AGE) VALUES ('종건', 20) INTO TEST (NAME, AGE) VALUES ('형석', 18) INTO TEST (NAME, AGE) VALUES ('바스코', 19) INTO TEST (NAME, AGE) VALUES ('원석', 17) SELECT * FROM DUAL ; 감사합니다.
간단하게 sql문법인 delete문을 사용하는 방법을 말씀드리겠습니다. 사용법은 다음과 같습니다. ● delete문DELETE FROM 테이블명 WHERE 조건 하지만 초보자가 이렇게만 보면 바로 이해하기 힘듭니다. 저 또한 배웠을 당시 그랬거든요. 좀 더 자세하게 설명해드리겠습니다. -- 1. DELETE문을 적기전 'DELETE FROM'은 일단 박고 시작한다고 보시면 됩니다. DELETE FROM -- 2. 그 뒤에 테이블 명을 적어줍니다. (예시로 테이블명은 'color_table'라고 하겠습니다.) DELETE FROM COLOR_TABLE -- 3. 그 다음 조건문을 작성해줍니다. -- (예시 조건은 color라는 변수의 값이 'red'일 때 즉 색깔(color)이 빨간색(red)인 얘들만 지..
프로젝트를 진행하던도중 잘되던 Oracle의 sqldeveloper가... 갑자기 안 되길래 깜놀해서 구글링을 해서 정보를 가져왔습니다.. 결론부터 말하자면 JDK 문제였습니다. 바로 해결방법을 말씀드리겠습니다. 1. C:\Users\AppData\Roaming\sqldeveloper\22.2.1(마지막 숫자는 버전입니다. 즉 버전에 따라 숫자가 다를거예요)에 들어가 product.conf를 연다 2. SetJavaHome 옆에 JDK 경로를 넣어준다.(jdk를 어느 위치에 설치했냐에 따라 경로가 다르겠죠?) ex) SetJavaHome D:\java\jdk1.8 이렇게하면 정상 작동 될겁니다. 참! jdk 경로 넣을때 '#'으로 되어있는 주석은 꼭 풀어주셔야해요. 감사합니다.