본문 바로가기
728x90
반응형

Database/OracleSQL27

ORA-12899: value too large for column "SYSTEM"."EVE_BOARD"."BTITLE" (actual: 33, maximum: 30) ORA-12899: value too large for culumn "SYSTEM"."EVE_BOARD"."BTITLE" (actual: 33, maximum:30) 값이 열에 비해 너무 큽니다. 테이블의 컬럼의 크기가 30인데 크기를 초과하는 33을 넣으려고한다 게시글을 수정할때 사용하는 메소드에서 SQL문을 실행하는 과정에 오류가나는 것이다. 메소드와 SQL문을 실행시키는 과정에서는 문제가 없다. 오라클에서 구문을 직접 실행 시켜보니 라고 오류가 발생했습니다. ORA-12899: value too large for culumn "SYSTEM"."EVE_BOARD"."BTITLE" (actual: 33, maximum:30) 은 DB 테이블에서 컬렁의 사이즈(Maximum)은 30인데 , 33사이즈의 .. 2021. 7. 1.
Oracle / 테이블에 FK(foreign key) 외래키 추가하기. FK(외래키)는 참조하는 테이블의 PK(기본키)를 사용하는 것이다. 참조테이블의 PK를 해당테이블의 FK로 사용하려면 참조테이블의 PK와 같은 이름의 컬럼이 필요하다. 이름이 같은 컬럼에 FK를 지정해주는 방법이다. 기존의 테이블에 FK를 추가하려고 했는데 이름이 같은 컬럼이 없어서 컬럼을 추가한뒤 FK를 추가했다. FK로 가져오는 컬럼은 참조테이블에서의 PK이여야 한다. 나의 경우는 위와같은 컬럼이 없어, 먼저 컬럼을 추가한뒤에 FK를 지정해줬다. --컬럼 추가하기 ALTER TABLE [테이블명] ADD [컬럼명] [제약조건]; alter table EVE_ASK add gidx number null; 기본사용방법 ALTER TABLE 테이블명 ADD FOREIGN KEY(컬럼명) REFERENCES.. 2021. 6. 24.
Oracle / DELETE FROM "SYSTEM"."EVE_EVENTASK" WHERE ROWID = 'AAAE9gAABAAALGRAAA' AND ORA_ROWSCN = '941667' and ( "SIDX" is null or "SIDX" is not null ) 데이터에서 데이터들을 지우고 시퀀스를 만들어 다시 데이터를 Insert 하려고하는데. 데이터를 삭제하는 과정에서 발생한 오류이다. DELETE FROM "SYSTEM"."EVE_EVENTASK" WHERE ROWID = 'AAAE9gAABAAALGRAAA' AND ORA_ROWSCN = '941667' and ( "SIDX" is null or "SIDX" is not null ) 삭제하려는 데이터의 PK는 다른 테이블에서 FK이로 사용하고 있는데 (PK FK 는 not null 이다.) 해당을 데이터 삭제하면 다른 데이터의 FK가 null이 되니. 해당 테이블의 데이터는 삭제 할 수 없다, 2021. 6. 24.
oracle / 시퀀스(Sequence) 생성, 수정, 삭제 방법, 사용하는 방법 시퀀스란? "순서"를 뜻하며 시퀀스를 사용할때에 자동으로 순차적으로 증가하게된다. 보통 새로 생성되는 데이터의 PK값이 중복되는 것을 방지하기 위해 사용됩니다. 시퀀스(Sequence) 생성방법 --시퀀스 생성방법 예제 create sequence SEQ_test increment by 1 start with 1 MAXVALUE 1000 nocycle; CREATE SEQUENCE [시퀀스명] INCREMENT BY [증감숫자] START WITH [시작숫자] NOMINVALUE OR MINVALUE [최솟값] NOMAXVALUE OR MAXVALUE [최대값] CYCLE OR NOCYCLE CACHE OR NOCACHE; NOMINVALUE : 디폴트값 설정, 증가일때 1, 감소일때 -1028 MINV.. 2021. 6. 24.
728x90
반응형