본문 바로가기

DB/SQL8

Spring Data JPA 연관관계 매핑 에러 Spring Data JPA를 사용해서 @ManyToOne 매핑을 사용하던여 수정, 삭제를 구현하던 중 could not execute statement [Cannot delete or update a parent row: a foreign key constraint fails (`shop`.`cart_item`, CONSTRAINT `FK1uobyhgl1wvgt1jpccia8xxs3` FOREIGN KEY (`cart_id`) REFERENCES `cart` (`cart_id`))] [delete from cart where cart_id=?]; SQL [delete from cart where cart_id=?]; constraint [null] 이라는 에러문구를 만났다. 에러문구를 해석하면 외래키 .. 2023. 10. 11.
[Oracle] 17002 에러, 계정 로그인 권한 에러 오라클 실행시 유저 권한을 클릭할 때 17002에러가 나오면서 시스템에 접속을 할 수가 없었다. OracleXETNSListener 이 꺼져있기 때문에 발생한에러로 시스템->OracleXETNSListener->속성 ->시작유형 자동, 실행상태로 변경후 재부팅해주었음 그래도 안되어서 pc -> c -> app ->Acer -> product ->18.0.0 -> dbhomeXE -> network ->admin 에서 해당부분의 ip를 cmd에서 ipconfig를 검색하고 나온 내 ip주소와 동일하게 입력해주었음 거기에 마찬가지로 해당 파일로 접속해서 ip를 변경해주었음 2023. 7. 19.
SQL DATE연산자 DATE 연산 결과 날짜데이터 + 숫자 = ->날자 데이터보다 숫자만큼 일수 이후의 날짜 날짜데이터 - 숫자 = ->날자 데이터보다 숫자만큼 전의 날짜 날짜데이터 - 날짜데이터 = ->두날짜 데이터간 일수 차이 날짜데이터 + 날짜데이터 = :->불가능 날짜 데이터를 다루는 날짜 함수 ADD_MONTHS: 몇 개월 이후 날짜 ADD_MONTHS( '날짜', '숫자' ) MONTHS_BETWEEN 두 날짜 간의 개월 수 차이 MONTHS_BETWEEN ('날짜1','날짜2') NEXT_DAY :돌아오는 요일 NEXT_DAY('기준일자', '찾을요일') LAST_DAY 달의 마지막 날짜 LAST_DAY('날짜') TO_CHAR() 숫자,날자데이터 -> 문자로 변환 TO_CHAR(SYSDATE, 'YYYYMMD.. 2023. 6. 28.
SQL 집계함수(sum,avg,min ....) SQL함수는 집계함수: SUM, AVG, MIN, MAX, COUNT 가 공통적으로 있습니다 UPPER() - 컬럼 모두 대문자 LOWER() - 컬럼 모두 소문자 INITCAP() - 첫글자 대문자 LENGTH(NAME) 문자열길이 INSTR(문자열데이터,찾을 문자) 문자열 데이터 내 특정 문자 위치 찾기, 검색결과가 없으면 0 SUBSTR(문자열데이터, 시작위치) 문자열 데이터 시작부터 끝까지 추출(인덱스 시작이 1번부터임) SUBSTR(문자열데이터, 시작위치,끝위치) 문자열데이터의 시작위치부터 끝위치까지 출력해줌 REPLACE(NAME,'abcd','wxyz') name문자열의 abcd를 wxyz로 바꿔라 LPAD(NAME,10,'빈칸에 넣을 문자') NAME 문자열의 길이를 10으로 하고 빈 공간.. 2023. 6. 28.
SQL decode를 이용하여 출력하기 DECODE 조건을 만족하면 x 아니면 y를 출력하며 java의 3항연산자와 비슷합니다. a=b -> x, a !=b ->y DECODE(A, B, X, C, Y, Z) A = B이면 X 출력, A = C이면 Y 출력, A ≠ B 이고 A ≠ C이면 Z 출력 DECODE(A1, B, DECODE(A2, C, X, Y), Z) A1=B이면서 A2=C이면 X 출력, A1=B이면서 A2≠C이면 Y를 출력, A1≠B이면 Z 출력 (DECODE 내부의 DECODE 중첩) a=b이면 x a!=b면 y를 출력 select decode(컬럼이름,비교대상값,참일 때 값,아닐 때 값,)... from 테이블 이름; a=b -> x, a=c -> y, a!=b and a!=c -> z select decode(a, b, x.. 2023. 6. 28.
SQL DML,DDL 연습 문제 문제와 코드블럭안에 있는 것들은 답안입니다. 문제를 따로 적어보시고 한번씩 연습삼아서 풀어보시기 좋으실 것입니다. 꼭 저의 답만이 정답이 아니라 여러 답이 있을 수 있습니다 ^_^ 1. 동아리(Dongari) 테이블을 생성하시오. 동아리ID, 동아리이름 create table Dongari( d_id varchar2(50) primary key, d_name varchar2(20) not null ); 2. 동아리(DongariJoin) 가입현황 테이블을 생성하시오. => 한 명의 학생이 여러 동아리에 복 수로 가입할 수 있음. 번호, 학생ID, 동아리ID create table dongarijoin( tel varchar2(50), name varchar2(50) d_id varchar2(50) ref.. 2023. 6. 28.
728x90