728x90
반응형
SMALL

SQL 14

[SQL/Oralcle] 오라클 데이터 그룹(GROUP BY)에 대한 내용정리!!

오라클은 group by라는 절이 있는데요~ㅎㅎ 이는 emp테이블이 있다고 할 때, 부서별로 평균 급여나 나이 등을 구해야할 경우에 사용하시면 됩니다!! 데이터그룹의 형식을 한번 살펴봅시다. ㅇㅅㅇ!! - GROUP BY 형식 SELECT 컬럼명, 그룹함수 FROM 테이블명 WHERE 조건(연산자) GROUP BY 칼럼명; 이 그룹 함수 GROUP BY 절 뒤에 어떤 칼럼 값 기준으로 그룹함수를 적용해줄지 기술해주어야 하며, 해당 칼럼을 기술해주는 것이 특징 중 하나입니다. 그리고 GROUP BY 절 다음에는 칼럼의 별칭을 사용할 수 없고, 반드시 칼럼명을 기술해야 한다는 점을 꼭 염두해주시면 좋겠네요~^^ㅎㅎㅎ - GROUP BY 사용한 예 select dno as "부서 번호", avg(salary)..

[DB/Oracle] ORA-01400: NULL을 ("SCOTT","BOARD","NO") 안에 삽입할 수 없습니다!!

안녕하세요. IT깡패's입니다~ㅎㅎㅎ 저번 글에 이어 또다른 오라클 오류 해결방법에 대해서 적어보겠습니다~!! ORA-01400: NULL을 ("SCOTT","BOARD","NO") 안에 삽입할 수 없습니다. ORA-01400: "cannot insert NULL into ("SCOTT","BOARD","NO")" 이 에러가 난 원인은 no컬럼이 null값이라서 난 에러입니다.. 그러므로 mapper에서 no시퀀스 컬럼이 적혀있지 않을 가능성이 있습니다. 그래서 mapper의 오류는 항상 주의해야 할 사항이죠~ㅎㅎㅎ!! 일단 이 오류는 null값이 안들어가는게 오류이기 때문에 list에서 그냥 넘어가기식 컬럼을 사용했을 경우 mapper작성시에 빼먹을 수 있다는 것이죠~ㅋㅋ 이 경우에는 컬럼 뒤에 not..

[DB/Oracle] ORA-00907: missing right parenthesis!!!

「오라클 발생 오류」 ORA-00907: missing right parenthesis 테이블 생성하던 중,, 이런 오류가 생겼는데요~ 이 오류의 해결법은 간단합니다만~ 이것의 원인과 해결법을 설명하자면 괄호나 콤마(,)가 빠진 원인이 제일 큰데요~ 저의 경우는 sysdate뒤에 괄호를 넣어서 오류가 났었네요~ sysdate와 괄호는 같이 쓸 수 없고요~ 가끔 now는 select로만 사용이 가능하고, 테이블로 날짜칼럼을 사용할때는 date를 쓴 후에 sysdate를 쓰는 것이 맞다고 생각합니다~!! ㅇㅅㅇㅎㅎ

[DB/Oracle]오라클 SQL Developer 오류에 대해서 알아보자~!!

이번에 si회사를 새롭게 들어가면서 전자정부프레임워크에 대해서 공부하다가 자연히 오라클 에러가 났는데요~ 그게 바로 missing or invalid option이라는 에러가 나더라고요~ㅎㅎ 다른 에러도 나긴했지만 이 오류에 대해선 약간 생소하더라고요~ 그래서 한번 정리보았습니다. * missing or invalid option SQL 오류: ORA-00922: missing or invalid option 00922. 00000 - "missing or invalid option" 발생 상황 : 여러개의 명령을 동시에 사용했을 경우 발생 (각각 명령문를 하나씩 동작시킬 경우 정상 동작) 해결 방안 : 각 명령이 종료될 때 ;(세미콜론)입력하면 대부분 해결됨! 이걸로 게시판을 한번 짜보려다가 난 간단한..

[SQL/Oracle]오라클 시퀀스에 대해서 알아보자~!!

시퀀스란? 연속적인 일련번호를 만들어주는 기능 입니다~!! 순차적으로 수를 넣어줍니다~ 특히 시작 값을 넣으면 1부터 시작하는 값을 넣어주는 것입니다. 문법 create sequence 시퀀스 이름 increment by n ------> 시퀀스 증가 값(기본 1), -1로 설정하면 감소하는 시퀀스임 start with 1 ------> 시퀀스 시작 값 maxvalue 100000 ------> 시퀀스 최대값(다른옵션 : nomaxvalue) minvalue 1 ------> cycle일 경우 새로 시작되는 값(다른옵션 : nominvalue) cycle ------> 시퀀스 번호 순환 설정 (다른옵션 : nocycle) cache 10; ------> 시퀀스 생성 속도를 위한 캐싱 지정 문법에 cach..

[SQL/Oracle]ora-28000, 계정이 잠금되었습니다~

ora-28000, 계정이 잠금되었습니다(the account is locked)! * 계정 락(lock) 해제에 관한 추가 링크 계정 락(lock) 해제 설명 - http://sky17777.tistory.com/9?category=830651 보통 oracle에서 이 오류가 났을 때, 해결 방법은 간단합니다. - 해결방법 1. 계정 상태를 확인한다.SELECT * FROM EMP; 2. LOCK 해제를 시킨다.ALTER USER [사용자명] ACCOUNT UNLOCK; 3. 계정 비밀번호를 변경한다.ALTER USER [사용자명] identified by [새로운 비밀번호] 이 방법을 쓰면 보통 오라클에서는 락해제가 되면서 이런 오류가 안생기게 됩니다.하지만 다른 sql종류인 Orange Oracle..

[SQL/Oracle]무결성 제약조건이란~

데이터 무결성(무결성 제약조건),, 무결성 제약 조건(Data Integrity Constraint Rule)이란? 테이블에 부적절한 자료가 입력 되는 것을 방지하기 위해서 테이블을 생성할 때 각 컬럼에 대해서 정의하는 여러가지 규칙을 말한다.무결성 : 데이터베이스 내에 있는 데이터의 정확성 유지제약 조건 : 바람직하지 않은 데이터가 저장 되는 것을 방지 하는 것 데이터 무결성 제약조건의 특징- 테이블 생성 시 무결성 제약조건을 정의하여 프로그래밍 과정을 줄여준다. - 데이터베이스 서버에 의해 무결성 제약조건이 관리되어 데이터 오류 발생 가능성을 줄여준다.- 테이블에 대해 정의되고 데이터 딕셔너리에 저장된다.- 일시적으로 활성화 또는 비활성화를 할 수 있다. ex) ora-00001 무결성 제약조건에 위..

[SQL/Oracle]오라클 제어어(Data Control Language)이란??

DCL(Data Control Language), 데이터 제어어데이터에 대한 접근 권한 부여 데이터베이스 시스템의 트랜잭션을 관리트랜잭션을 처리하는 SQL을 따로 TCL이라고 부른다. TCL - 트랜잭션 처리어COMMIT : 트랜잭션의 정상적인 종료 처리ROLLBACK : 트랜잭션의 취소 SAVEPOINT : 트랜잭션 내에 임시 저장점 설정 DCL - 사용자 권한 부여 회수GRANT : 데이터베이스에 대한 일련의 권한 부여REVOKE : 데이터베이스에 대한 일련의 권한 회수 권한사용자가 테이블에 접근할 수 있도록 하거나, 해당 테이블에 사용할 수 있는 SQL문에 대하여 제한을 두는 것다수의 사용자가 데이터베이스에 접근하여 저장된 정보를 사용하므로 정보에 대한 보안이 이루어져야 한다. 사용자마다 다른 권한..

[SQL/Oracle]ORA-00942: 테이블 또는 뷰가 존재하지 않습니다

ORA-00942: 테이블 또는 뷰가 존재하지 않습니다. 오라클로 작업을 하다 보면 이런 오류가 가끔 뜨게 되는데요~ 1. 정말로 테이블이나 시퀀스가 없을 경우도 있겠지만2, 보통은 권한 때문에 생기는 문제라고 생각하시면 됩니다. 원인 보통은 시스템권한이 있는 아이디를 갖고 웹에서 접근할 수 있도록 허용하지 않기 때문에 새로 생성한 사용자 아이디로 프로젝트를 하게 될텐데요..이럴 경우에 테이블생성 권한이 없다면, 다른 테이블에 접근하도록 (테이블 권한이 있는)USER.TABLE 이라고 설정해주어야 합니다.아예 그 테이블에 CRUD 권한이 없는 경우에도 그렇습니다. 그렇기 때문에 그냥 습관처럼 SELECT * FROM TABLE처럼 쓰게 됨녀 그 테이블을 찾지 못하게되어 저런 류의 오류가 발생하게 됩니다...

[Database/SQL]오라클 서브 쿼리(Sub Query)란??

서브 쿼리(Sub Query)하나의 SQL 문장 내에 포함된 또 다른 SQL 문이 있는 쿼리문 전체 SQL 문장을 메인 쿼리라고 하며, 메인 쿼리(Main Query or Outer Query)에 종속된 내부 쿼리를 서브 쿼리(Sub Query or Inner Query)라고 한다.서브 쿼리는 반드시 괄호 () 안에 넣어 표현해야 한다. - 이름이 'KING'인 사원의 부서번호를 조회하는 서브쿼리와 그 결과로 부서명을 조회하는 메인쿼리SELECT dname FROM dept WHERE deptno = ( SELECT deptno FROM emp WHERE ename = 'KING' ) DNAME ----------- ACCOUNTING 단일 행 서브 쿼리서브 쿼리의 결과가 1개의 행만 나오는 것 서브 쿼..

728x90
반응형
LIST