오라클

·MORE/ERROR
오라클(토드) 에러 / 해결완료 - 리스트를 조회하는 프로시저를 실행했으나 저런 문구가 뜨면서 조회가 되지않았음 - 리스트 조회 후 마지막에 SELECT INTO ~ 구문이 있었는데 거기서 에러가 발생한 것으로 추정 SELECT COUNT(*) INTO RET_VAL --INTO로 넣는 이 값이 여러 행(row)으로 생겼을 때 에러가 발생함 FROM TB_A01_000; - INTO 뒤에 붙는 컬럼의 결과값이 여러 row가 발생할 때 나는 에러로, 나의 경우에는 여러 테이블에서 결과를 엮어오는 과정에서 GROUP BY 위치가 잘못되어 결과가 많은 row로 나왔고, 그 부분을 수정해주었더니 정상적인 결과값이 나왔음
·STUDY
개발환경 전자정부프레임워크 3.10 오라클 DB 사용 계기 현재 프로젝트에서는 스프링 시큐리티 및 CSRF 토큰을 통해 보안처리를 하고있음 타 홈페이지(A)에서 로그인이 되어있다면 JWT 토큰을 POST 방식으로 넘겨 내가 작업한 페이지(B)에 도착하고, B에서도 JWT 토큰 인증을 통해 A에서 로그인 한 정보 그대로 B에서 이용할 수 있게 하는 즉 SSO(Single Sign-On : 1회 사용자 인증으로 다수의 애플리케이션 및 웹사이트에 대한 사용자 로그인을 허용하는 인증 솔루션) 기능을 만들고자 함 허나 타 홈페이지(A)에서 POST로 요청하는 경우 CSRF 토큰 인증이 되어야만 내 홈페이지(B)를 볼 수 있음(GET 방식은 CSRF 토큰 인증을 안하기에 무조건 통과가 됨 -> 허나 이번에는 POS..
·STUDY
IN 값이 포함되는 데이터를 추출할 때 사용 OR 개념 -- 기본 문법 SELECT * FROM TABLE WHERE COLUMN IN ("컬럼1", "컬럼2") -- 해석 -- 컬럼1과 컬럼2가 포함되는 데이터만 추출됨 SELECT * FROM TABLE WHERE COLUMN = "컬럼1" OR COLUMN = "컬럼2" -- 서브쿼리 사용 가능 -- 서브쿼리 사용 시, NULL이 포함되는 경우에는 데이터가 출력되지 않기 때문에 -- 조회 컬럼에 IS NOT NULL 조건을 걸어줄 것 SELECT * FROM TABLE_A WHERE COLUMN_A IN (SELECT COLUMN_B FROM TABLE_B) NOT IN 포함되지 않는 데이터를 추출할 때 사용 AND 개념 -- 기본 문법 SELECT..
·STUDY
CASE WHEN 형식 SELECT CASE WHEN 조건1 THEN 출력1 WHEN 조건2 THEN 출력2 ... ELSE 모든조건을 만족하지 않을 시 출력할 값 --생략가능, 없을 시 NULL 리턴 END CASE WHEN으로 출력할 컬럼 이름 FROM 테이블이름; DECODE 함수와 무엇이 다른가? DECODE 함수의 경우 A=B이냐 A≠B이냐를 나누는 정도의 표현에 적합 → 조건이 많아지면 가독성이 떨어짐 오라클에서 DECODE 함수를 대체할 수 있는 것이 CASE 표현식, 가독성이 더 좋고 많은 기능을 제공 즉 조건이 복잡한 경우 DECODE 함수보다 CASE 표현식을 사용할 것을 권장 추가로 오라클 내장 함수를 조건으로 사용 가능 WHERE절에 사용 가능 사용자 정의 함수를 조건으로 사용 가능..
·MORE/ERROR
오라클(토드) 에러 / 해결완료 - 프로시저 작성하고, INSERT를 하는 과정에서 발생한 오류 - 프로시저 내에 IS 부분에 JSON VALUE로 넣어주었는데, IS P_NO TB_TEST.NO%TYPE := JSON_VALUE(P_DATAS,'$.P_NO'); // JSON_VALUE(P_DATAS,'$.P_NO')에서 P_NO 이 부분을 // 자바에서 불러오는 명칭과 일치시켜주지 않아서 발생한 오류 - 즉, PK인 NO(P_NO) 컬럼을 키값과 일치시켜주지 않아서 결과적으로 NULL이 값에 들어가게 됐고, PK에 NULL이 들어가지 않게 설정하면 됨(값을 주어야한다는 것) - 기본키(PK)에는 NULL이 들어갈 수 없음
·DEV/└ ORACLE
필요한 데이터만 출력하는 WHERE절 SELECT [조회할 열1 이름], [조회할 열2 이름], ... FROM [조회할 테이블 이름] WHERE [조회할 행을 선별하기 위한 조건식]; WHERE절은 SELECT문으로 데이터를 조회할 때 특정 조건을 기준으로 원하는 행을 출력하는 데 사용 여러 연산자를 함께 사용하면 더욱 세밀하게 데이터 검색을 할 수 있음 여러 개 조건식을 사용하는 AND, OR 연산자 SELECT [조회할 열1 이름], [조회할 열2 이름], ... FROM [조회할 테이블 이름] WHERE [조회할 행을 선별하기 위한 조건식1] AND [조회할 행을 선별하기 위한 조건식2] OR [조회할 행을 선별하기 위한 조건식3] ... ; AND : 조건식의 결과값이 모두 TRUE인 행만 출력..
·DEV/└ ORACLE
데이터를 조회하는 3가지 방법 - 셀렉션, 프로젝션, 조인 ※ 셀렉션(selection) - 행 단위로 조회하며, 테이블 전체 데이터 중 몇몇 가로줄의 데이터만 선택할 때 사용 - SELECT문을 사용하여 특정 행만 선별하여 조회하는 방식이 컬렉션 ※ 프로젝션(projection) - 열 단위로 원하는 데이터를 조회하는 방식 - SELECT문을 사용하여 특정 열만을 선별하여 조회하는 방식이 프로젝션 ※ 셀렉션과 프로젝션을 함께 사용하여 특정 테이블에서 조회하려는 행과 열을 모두 선별할 때 셀렉션과 프로젝션을 함께 사용할 수 있음(원하는 행의 특정 열만 조회가 가능) → 예를 들면 전체 학생 중 졸업생만을 조회하되 학번, 이름, 학과 코드 항목만 출력되도록 선택하는 것 ※ 조인(join) - 두 개 이상의..
·DEV/└ ORACLE
1. 데이터와 데이터베이스, DBMS ※ 데이터 vs 정보 - 데이터는 원석, 정보는 보석으로 비유 - 데이터는 어떤 필요에 의해 수집했지만 아직 특정 목적을 위해 평가하거나 정제하지 않은 값이나 사실 또는 자료 자체를 의미 - 정보는 수집한 데이터를 어떠한 목적을 위해 분석하거나 가공하여 가치를 추가하거나 새로운 의미를 이끌어낼 수 있는 결과 ※ 데이터베이스 - 효율적으로 데이터 관리를 하기 위해서, ① 데이터를 통합하여 관리, ② 일관된 방법으로 관리, ③ 데이터 누락 및 중복 제거, ④ 여러 사용자(응용 프로그램 포함)가 공동으로 실시간 사용 가능 -> 데이터베이스 - 위 네가지 조건을 만족하면서 여러 사람이 공유하여 사용할 수 있고, 효율적인 관리와 검색을 위해 구조화한 데이터 집합 ※ DBMS(..
devvnn
'오라클' 태그의 글 목록