DB 풀을 닫을 때 나는 주로 close 를 사용했는데, freeConnection 도 있다는 것을 알게됐다. close() 와 freeConnection() 은 모두 연결을 종료하는 메서드이다. 하지만 사용되는 문맥에 따라 차이가 있다는 것을 알았는데, 구체적으로 알고 사용하고 싶어 정리해봤다. 커넥션을 닫아주거나 풀어주지 않으면 발생하는 문제 "Connection Pool Exception: Cannot get a connection, pool error Timeout waiting for idle object" 과 같은 문제가 발생할 수 있다. ⬇️문제해결방법 보러가기 Connection Pool Exception: Cannot get a connection, pool error Timeout wa..
너무 많은 커넥션 연결 때문에 발생하는 문제이다. Connection Pool Exception: Cannot get a connection, pool error Timeout waiting for idle object나는 서버 재실행으로 해결하는 편이다. 근본적인 문제는, 이전의 DB 연결을 종료하지 않아서 발생하는 문제이다. 자바 API 의 finally 에서 꼭 freeConnection 이나 close 를 사용해주면 된다. 근데 여기 프로젝트에는 파일 양이 많아 일일이 수정할 수 없기 때문에 서버 restart 로 해결해준다. 나의 경우엔 거의 3~4시간에 한번 꼴로 발생하는 듯하다 ㅜㅜ 테스트 돌리다 중요한 순간에 걸리면 쥔짜 짜증남 .. + 시니어 개발자분이 해결해주셨다. 제일 많이 쓰는 화면..
나의 경우에 SQL 에서 발생하는 오류였다. Ajax로 연결된 파일의 경로와 SQL 파일이 실제 위치한 경로가 일치하지 않아 경로의 문제였다. 작업환경을 공개하지는 못하지만 모종의 이유로 jsp 연결을 AJAX 연결로 변경하는 과정에서 발생한 오류이다. 올바른 경로에 새 sql파일을 생성 후 연결하여 해결했다.
코멘트 생성테이블 코멘트COMMENT ON TABLE 테이블명 IS '코멘트';컬럼 코멘트COMMENT ON COLUMN 테이블명.컬럼명 IS '코멘트'; 코멘트 삭제COMMENT ON TABLE 테이블명 IS ''; COMMENT ON COLUMN 테이블명.컬럼명 IS ''; 코멘트 수정COMMENT ON TABLE 테이블명 IS '수정내용'; COMMENT ON COLUMN 테이블명.컬럼명 IS '수정문자열';
UNION / UNION ALL 여러개의 쿼리문을 이용하여 데이터를 하나로 출력할 때 사용한다. UNION 중복값을 제거하고 보여준다. UNION ALL 중복값을 제거하지 않고 전부 보여준다. 중복값의 기준은 ? 2개의 컬럼 중 하나만 중복값인 경우 중복값이 아니다. 주의사항 각 쿼리의 컬럼 개수 및 명칭을 맞춰줘야 한다. 맞추지 않는 경우 오류가 발생한다.
단일행 함수 (Single-Row Functions): 단일행 함수는 각 행(row)에 대해 개별적으로 계산되며, 각 입력 값에 대해 단일 출력 값을 생성합니다. 주로 데이터의 변환, 연산, 포맷팅에 사용됩니다. 일반적인 예로는 문자열 함수(UPPER, LOWER), 날짜 함수(TO_DATE, EXTRACT), 수학 함수(SQRT, ABS), 형 변환 함수(CAST, TO_NUMBER) 등이 있습니다. 개별 행 단위로 작동: 단일행 함수는 테이블의 각 행에 대해 개별적으로 작동합니다. 즉, 입력 데이터의 각 행(row)에 대해 개별적으로 계산되며, 각 행의 입력 값에 대해 단일 결과 값을 반환합니다. 한 번에 하나의 결과: 각 행에 대해 한 번만 계산되므로, 출력 결과도 각 행마다 하나씩 반환됩니다. 이..
CHAR Char 타입은 최대 2000byte의 고정길이 문자열 데이터 타입이다. 지정된 길이에 관계 없이 항상 고정된 길이로 저장된다. Char(10)은 항상 10 문자를 저장한다. VARCHAR = VARCHAR2 가변 길이 문자열을 저장한다. 저장된 데이터의 실제 길이마늠 공간을 사용한다. Varchar2(10)에 "Hello" 라는 문자열을 저장하면 실제로 5개의 문자만 사용된다.
Delete(/Modify) Action : Cascade, Set Null, Set Default, Restrict (Master 부모 테이블) 1. Cascade : Master 삭제 시 Child 같이 삭제 2. Set Null : Master 삭제 시 Child 해당 필드 Null 3. Set Default : Master 삭제 시 Child 해당 필드 Default 값으로 설정 4. Restrict : Child 테이블에 PK 값이 없는 경우만 Master 삭제 허용 5. No Action : 참조무결성을 위반하는 삭제/수정 액션을 취하지 않음 Insert Action : Automatic, Set Null, Set Default, Dependent (Child 자식 테이블) 1. Automat..
// CONSTRAINT 를 사용하지 않았다. ALTER TABLE PROJDUCT ADD PRIMARY KEY PRODUCT_PK ON (PROD_ID) // 내부에서 변경할때는 ADD 를 사용하지 않는다. ( .. ,ADD CONSTRAINT PRIMARY KEY (PROD_ID); ) 아래 두 개의 코드가 정답이다. Not Null 은 생략하면 안되고, Null 은 생략이 가능하다. CREATE TABLE PRODUCT ( PROD_ID VARCHAR2(10) NOT NULL, PROD_NM VARCHAR2(20) NOT NULL, REG_DT DATE NOT NULL, REGR_NO NUMBER(10) NULL ); ALTER TABLE PRODUCT ADD CONSTRAINT PRODUCT_PK..