- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JSP
- 티스토리챌린지
- 워드프레스
- 오류해결
- PLSQL
- dbeaver
- 자바스크립트
- 문제해결
- 프로시저
- 함수
- 오블완
- 환경세팅
- 오라클
- Oracle
- javascript
- wordpress
- spring boot
- 클론코딩
- 트러블슈팅
- 워스프레스
- sql
- PROCEDURE
- 배열
- 이클립스
- Hostinger
- function
- iframe
- pl/sql
- 엘리멘터
목록ORACLE (14)
개발 공부중
INSERT 기능을 새로 만든 후 폼전송을 하는데, ORA-01722: 수치가 부적합합니다 에러가 떴다. ORA-01722: 수치가 부적합합니다 오류 원인 1. 숫자형 컬럼에 문자열이나 특수문자가 포함된 값을 삽입하려고 할 때 2. 숫자로 변환할 수 없는 문자열을 숫자형 함수나 연산에 사용하려고 할 때 3. 숫자 형식에 맞지 않는 데이터(예: 쉼표 포함 숫자)를 사용하려고 할 때 나의 경우는 3번.테이블 생성시 NUMBER 타입의 컬럼을 만들었는데, 여기에 쉼표가 포함된 문자열을 INSERT해서 발생한 에러였다.확인해보니 1000단위 이상을 입력하니 쉼표가 자동으로 생기고 있었던 것. 해결과정 내가 제일 고민한 건,1. java로 처리 : 입력값에서 쉼표를 삭제 replaceAll2. Java..
ORA-00972 : 식별자의 길이가 너무 깁니다 테이블 이름, 열 이름, 또는 인덱스 등의 식별자가 허용된 최대 길이(30바이트)를 초과했을 때 생기는 오류. 나의 경우 테이블 이름이 너무 길었던 것이 문제였다. 더 짧은 이름으로 수정하면 된다.
java.sql.SQLRecoverableException: 소켓에서 읽을 데이터가 없습니다 서버 상태를 확인해본다. 나의 경우, 실행 후 무한 대기 상태 -> 소켓에서 읽을 데이터가 없습니다 가 나왔다.서버를 재시동하니 해결됐다.어느순간 서버연결에 문제가 있었던 거 같다.
나의 경우, 보안이 걸려져 있는 테이블에 컬럼을 하나 만들고 보안업데이트 작업을 해줘야하는데 하지 않았다.그래서 나온 오류이지만 찾아본 오류 해결방법과 가상열 (virtual column) 의 특징 ORA-01733: 가상 열은 사용할 수 없습니다 가상열(virtual column)에 insert 혹은 update, delete 하려고 했을 때 나오는 오류.다른 열의 값을 기반으로 계산된 값은 조회는 가능하지만, 변경이나 저장을 할 수 없다. 가상열의 특징 데이터 저장 없음: 가상 열은 물리적으로 데이터를 저장하지 않고, 대신 다른 열의 데이터를 기반으로 계산된 값을 제공한다.읽기 전용: 가상 열은 읽기 전용으로, 직접 값을 입력하거나 업데이트할 수 없다.동적 계산: 가상 열의 값은 조회 시 동적으로..
프로시저란,데이터베이스 내에서 특정 작업을 수행하는 코드 블록이다. 주로 여러 작업을 일괄적으로 처리할 때 사용한다.함수와 다르게 반환 값이 없고, 대신에 출력 매개변수를 통해 결과를 반환할 수 있다.프로시저 작성 방법-- 1. 프로시저 선언CREATE OR REPLACE PROCEDURE 프로시저_이름( -- 2. 매개변수 선언 매개변수 [ IN || OUT ] 타입; )IS-- 3. 변수 선언NAME VARCHAR2(10) := 'TEST' -- := 연산자로 변수에 값을 할당 --4. 프로시저 본문BEGIN[EXCEPTION 예외처리]END;프로시저 본문 안에 들어갈 수 있는 문법 정리1. SELECT INTO 문 : SELECT 문의 결과를 변수에 저장DECLARE -- 변수선언 ..
작업을 하다가 테이블이 렉 걸린 것 처럼 커밋이 안되는 상황이 생겼다. 오라클에서 테이블 락(Lock) 확인하고 해제하는 방법테이블 확인하고 1. 락 걸린 테이블 확인하기SELECT DISTINCT object_id FROM v$locked_object WHERE oracle_username = '사용자명'; 2. 락 걸린 테이블 갯수 확인하기SELECT COUNT(*) FROM v$locked_object vo, dba_objects do WHERE vo.object_id = do.object_id; 3. 락 걸린 세션 확인하기SELECT a.sid, a.serial#FROM v$session a, v$lock b, dba_objects cWHERE a.sid = b.sid AND b.id1 = c...
java.sql.SQLException: 부적합한 열 인덱스 오류 나의 경우, 변수명이 잘못되어있었다.NAME 인데 NAEM 이런식으로 되어있었다. 오타가 없는지 확인을 잘하자. ORA-00936 누락된 표현식 이것도 오타의 문제이 에러는 ' ' , . ; * 이런 기호들을 잘못 사용해서 발생한다.나의 경우, 콤마가 마지막에 더 써져있었다. ORA-00913: 값의 수가 너무 많습니다 INSERT 구문에 삽입될 컬럼의 개수보다 들어가는 데이터의 개수가 더 많은 경우 발생하는 에러데이터의 갯수를 잘 맞춰주면 된다. public class MergeQueryExample { private final static String MERGE_QUERY = "MERGE INTO TABLE_..
쿼리 짤 때 정말 자주 사용하고 있는 ROW_NUMBER() 정리 ROW_NUMBER()는 SQL의 내장 함수로, 결과 집합의 각 행에 고유한 숫자를 할당하는 역할을 한다. 그래서 순서 번호를 필요로 하는 쿼리에서 사용한다. 문법 ROW_NUMBER() OVER ([PARTITION BY 그룹핑할 컬럼] ORDER BY 정렬할 컬럼 [ASC|DESC]) PARTITION BY는 선택값이고, ORDER BY는 필수 값이다. 예시 SELECT EMPLOYEE_ID , JOB_ID , END_DATE , ROW_NUMBER() OVER(PARTITION BY EMPLOYEE_ID ORDER BY END_DATE DESC) AS RN FROM HR.JOB_HISTORY; RN컬럼으로 EMPLOYEE_ID가 같은..