본문 바로가기

Oracle Database /SQL

(32)
SQL PL(2) /*SET VERIFY OFF;SQL명령어나 PL/SQL에서 &를 이용한 치환 변수등을 사용할 때 치환되기전후의 값을 보일 건지 여부를 결정하는 기능이다. 기본은 ON*/ SET SERVEROUTPUT ON;SET VERIFY OFF; ACCEPT p_name PROMPT '이름:';ACCEPT p_sal PROMPT '급여:';ACCEPT p_deptno PROMPT '부서번호:'; DECLARE v_name VARCHAR2(10) := UPPER('&p_name'); v_sal NUMBER(7, 2) := &p_sal; v_deptno NUMBER(2) := &p_deptno; BEGIN DBMS_OUTPUT.PUT_LINE('v_name : ' || v_name); DBMS_OUTPUT.PUT_LI..
SQL PL(1) SET VERIFY OFFSET SERVEROUTPUT ON -- 화면에 출력하고 싶을 때 사용 ACCEPT p_deptno PROMPT '부서번호를 입력하시오:' -- 입력 DECLARE -- 선언부 v_sal_total NUMBER; BEGIN -- 구현부 SELECT SUM(SALARY) INTO v_sal_total FROM EMPLOYEES WHERE DEPARTMENT_ID = &p_deptno; DBMS_OUTPUT.PUT_LINE(&p_deptno || '번 부서의 급여의 합' || LTRIM(TO_CHAR(v_sal_total, '$999,999,999')) ); END;/SET VERIFY ONSET SERVEROUTPUT OFF -- 선언부-- 실행부-- 예외처리부/*DECLARE -..
SQL index --index(색인)--index는 원하는 정보의 위치를 빠르고 정확하게 알아낼수 있는 방법-- 자동생성: primary, Unique-- 수동생성: Query /*생성해야 좋은 경우1. WHERE 절이나 JOIN조건안에 자주 사용되는 컬럼2. WHERE 절이나 JOIN조건안에 자주 사용되는 두개의 이상에 컬럼3. NULL값이 많은 포함되어 있는 컬럼 생성했을때 안좋은 경우1. 테이블이 작을(ROW) 경우(10000개 이하일 경우)2. 테이블이 자주 갱신될 떄 */ CREATE TABLE EMP_COPYASSELECT * FROM EMPLOYEES; ALTER TABLE EMP_COPYADDCONSTRAINT PK_EMP_01 PRIMARY KEY(EMPLOYEE_ID); --INDEX 확인 쿼리SELE..
SQL sequence --sequence : 유일한 값을 생성해 주는 오라클 오브젝트다-- 회원번호, 게시판 글번호 (1-> 2-> 3)++ 증가연산-- 시퀀스를 생성하면, primary key와 같이 순차적으로 증가하는 column을 자동적으로 생성할 수있다.-- 독립적-- 시퀀스는 초기화가 불가능 --sequence /*int count =1;count ++; */ --sequence 삭제DROP SEQUENCE TEST_SEQ; --sequence 사용CREATE SEQUENCE TEST_SEQINCREMENT BY 1 -- (++,1씩 증가)START WITH 10; -- 10부터 시작 -- CURRVAL --> 현재 시쿼스의 값 SELECT TEST_SEQ.CURRVALFROM DUAL; -- 다음값SELECT TE..
SQL 정리해라 SQL 정리 ☆TABLE CREATE TABLE : 문은 데이터베이스에 새 테이블을 만드는 데 사용됩니다. DROP : 문은 기존 SQL 데이터베이스를 삭제하는 데 사용됩니다.팁 : 데이터베이스를 삭제하기 전에 관리자 권한이 있어야합니다. 데이터베이스가 삭제되면 다음 SQL 명령을 사용하여 데이터베이스 목록에서 데이터베이스를 확인할 수 있습니다. SHOW DATABASES; ALTER : ALTER TABLE 문은 기존 테이블의 열을 추가, 삭제 또는 수정하는 데 사용됩니다. ADD : MODIFY : 때로는 열의 데이터 유형을 변경해야합니다. 이렇게하려면 ALTER TABLE Modify Column 명령을 사용합니다. Oracle 및 MySQL의 경우 ALTER TABLE Modify Column 에..
SQL UPDATE --UPDATECREATE TABLE TB_JOBS_BKASSELECT *FROM JOBS; UPDATE TB_JOBS_BK --어떠한 케이블을 업데이트를 할꺼냐SET MIN_SALARY = 0 -- 변경WHERE JOB_ID LIKE 'AD_%'; -- AD 이름에 MIN값을 0으로 넣어라 UPDATE TB_JOBS_BK --어떠한 케이블을 업데이트를 할꺼냐SET MAX_SALARY = 0 -- 변경WHERE JOB_ID LIKE 'AD_%'; -- AD 이름에 MAX값을 0으로 넣어라 UPDATE TB_JOBS_BKSET MIN_SALARY = NULL, MAX_SALARY = NULLWHERE JOB_ID LIKE 'AC_%'; SELECT * FROM TB_JOBS_BK; COMMIT; -- 확인..
[ORACLE] 데이터 베이스 UPDATE UPDATE 개념 UPDATE는 테이블에서 명시한 컬럼의 데이터를 변경하는 구문입니다.기본 UPDATE 구문 UPDATE table_name SET column_name = column_value [WHERE conditions]; - SET column_name = column_value,.. : 테이블의 명시한 칼럼 값을 변경하는 부분이며, 괄호 없이 SET절을 ,(콤마)로 연결해 여러 칼럼의 값을 한꺼번에 변경할 수도 있다.- [WHERE conditions]; : SET절에서 명시한 칼럼을 변경할 행을 제한하는 부분이며 생략할 경우 전체 테이블 데이터 중 SET절에 명시한 칼럼의 값을 변경한다.기본 UPDATE 예제 emp 테이블에서 KMLEE의 급여를 2,500,000원으로 변경하시오. iSQL..
[ORACLE] 데이터 베이스의 그룹화 데이터 베이스를 이용하면서 각 항목이나 그룹별로 데이터를 묶어야 할 필요가 있다. 이때 사용하는 데이터 베이스 명령어는 GROUP BY 명령어이다. 이는 ORACLE을 비롯한 다른 데이터 베이스에서 공통적으로 사용된다.GROUP BYgroup by 를 하게 되면 해당 컬럼에 대해 그룹이 생성된다. 이해하기 쉽게 여러개의 컬럼이 하나의 컬럼이 된다고 생각하면 된다. 위 그림에서 두개의 Korea, 두 개의 Austria, 하나의 Taiwan, 두 개의 Japan을 가지는 7개의 row가 있다. 여기서 Nation 을 기준으로 그룹을 지으면 각 나라별로 그룹이 생성된다. 그렇기 때문에 COUNT(*) 를 해주면 7이 아닌 그룹별 원소의 개수가 출력된다. 예제 코드EMPLOYEES 테이블EMPLOYEE_ID ..