본문 바로가기

오라클

(ORACLE) PROCEDURE 에서 원하는 데이터를 찍어보자! CREATE OR REPLACE PROCEDURE BookInsertOrUpdate( myBookID NUMBER, myBookName VARCHAR2, myPublisher in VARCHAR2, myPrice in NUMBER ) AS mycount NUMBER; BEGIN DBMS_OUTPUT.DISABLE; DBMS_OUTPUT.ENABLE; SELECT count(*) into mycount FROM Book WHERE bookname LIKE myBookName; DBMS_OUTPUT.PUT_LINE(mycount); IF mycount!=0 THEN DBMS_OUTPUT.PUT_LINE('if문 들어옴!'); UPDATE Book SET price = myPrice WHERE bookname..
<SQL>SQL 인젝션 방어하는 방법중 하나 SQL Injection(SQL 삽입 공격)을 방어하는 방법에 대해 알아봅시다! 1. SQL Injection이란? Web Hacking 기법중 하나이며, 웹 애플리케이션의 Database에 질의(쿼리를 보냄)하는 과정 사이에 일반적인 값이 아닌 악의적인 의도를 갖는 구문을 삽입하여, 공격자가 원하는 SQL 쿼리문을 작동하게 하는 방법입니다. 주로 클라이언트가 입력한 데이터를 서버에서 필터링, 이스케이핑을 하지 못하였을 경우에 발생합니다. 이러한 문제 때문에 대부분의 데이터베이스 엔진은 의도치않은 입력을 방지하기 위하여 escape함수와 prepared statement를 제공합니다. SQL Injection 공격의 종류에는 크게 세 가지가 있습니다.1) 인증 우회 (AB : Auth Bypass)2) ..
(SQL) 문자 함수(단일행 함수)의 종류에 대해 알아봅시다. ▣ 단일행 함수란? ▷ 단일행 함수는 SELECT, WHERE, ORDER BY절에 사용할 수 있으며, 다중행 함수와는 달리 ROW마다 한번씩 처리하는 함수이다. ▣ 문자함수란? ▷ 연산 대상이 문자이며, 반환 값은 함수에 따라 숫자 또는 문자를 반환한다. ▣ 문자함수의 종류 문자형 함수함수 설명TRIM([지정문자] from 문자열) LTRIM(문자열,[제거할 문자])RTRIM(문자열,[제거할 문자])문자열의 첫 문자부터 확인해서 지정문자가 나타나면 해당 문자를 제거한다. 왼쪽에 있는 대상 제거오른쪽에 있는 대상 제거CONCAT(‘문자1’,‘문자2’)두 문자(열)을 연결하여 반환하는 함수CHR(아스키 코드값)아스키 코드값을 문자로 반환하는 함수ASCII(‘문자’)문자를 아스키코드 값으로 반환하는 함수UP..
(DB) SQL이란 무엇인가? SQL에 대해 글을 썼지만...SQL이 뭔지 알아야 할 것 같다, SQL이 뭘까? ▣ SQL(Structured Query Language)이란 무엇인가? ▷ SQL은 관계형 데이터베이스 언어이다. ▷ 데이터의 삽입, 삭제, 갱신, 질의, 보호(보안) 명령문으로 구성되어있다. ▷ SQL은 관계 데이터베이스 언어로 비절차적 데이터베이스 언어로 분류한다. ▣ SQL기능에 따른 분류 ▷ 데이터 정의어(DDL : Data Definition Language) - 테이블의 관계의 구조를 생성하는데 사용하며, CREATE, ALTER, DROP 등이 있다. ▷ 데이터 조작어(DML : Data Manipulation Language) - 테이블에 데이터를 검색, 삽입, 수정, 삭제하는데 사용하며, SELECT, I..
(DB) 데이터베이스란 무엇일까? 데이터베이스 많이 들어 봤지만 생소하기도 한 단어이다.이 데이터베이스에 대해 알아보도록 하자! ▣ 데이터베이스란 무엇일까? ▷ 자료(Data) - 현실 세계에서 관찰이나 측정을 통해 수집한 단순한 사실이나 값. ▷ 정보(Information) - 의사 결정에 도움을 줄 수 있는 유용한 형태 - 자료를 가공(처리)해서 얻을 수 있는 결과를 의미 ▷ 데이터베이스 - 어느 한 조직체의 여러 응용 시스템들이 공동으로 사용할 수 있도록 통합하여 저장한 운영데이터의 집합. - 공동의 목적을 지원하기 위한 서로 관련된 자료들의 모임. - 주제와 관련된 의미 있는 데이터들의 모음. ▣ 데이터베이스의 정의 ▷ 통합된 데이터(Integrated Data) - 산재되어 있지 않고, 한 곳에 있어야 한다. - 모든 데이터가 ..
(SQL) 복합변수가 무엇일까? ▣ 복합변수란? ▷ 여러가지 다른 유형의 데이터들을 저장하는 변수 ▷ Record TYPE 과 Table TYPE으로 나뉨 ▣ Record TYPE 변수란?? ▷ 데이터 타입이 다른 여러 데이터를 저장할 경우 사용 ▷ 지정방법 1. type 타입명 is record() 2. 식별자 type 타입명; 사용 예시)1234567891011121314151617181920declaretype emp_rec is record(empNo EMPTEST.EMPNO%type, empSal EMP.SAL%type, empname emp.ename%type, empJob EMPtest.DEPTNO%type); rec1 emp_rec; --emp_rec에 대한 식별자가 rec1 begin select EMPNO, SAL, ..
(SQL) SQL Developer를 설치해보자! 오라클의 무료 툴인 SQL Developer를 설치해보자! 1. https://www.oracle.com/ 에 접속한다. 2. Downloads and Trials → Developer Downloads 접속 3.아래로 내려 Developer Tools의 SQL Developer 클릭 4. Accept License Agreement를 누르고, 프로그램을 설치합니다. - JDK가 설치 되어있지 않으면, Windows 64-bit with JDK 8 included 다운 - JDK가 설치 되어있다면 Windows 32-bit/64bit 다운 5. sqldeveloper.exe 실행 6. 설치된 JDK 위치를 선택한다. 7. 왼쪽 위 +를 누르고, 새로 만들기 창에서 내용들을 입력한 후 테스트를 눌러 접속을..
(SQL) 데이터 타입의 종류!(ORACLE) ORACLE에서 데이터 타입의 종류에 대해 알아보자! 데이터 타입(Data Type)이란?데이터 타입(자료형)이란 시스템과 프로그래밍 언어에서 실수, 소수, 자료형 등의 여러 데이터를 식별하는 타입입니다. 1. 문자형 데이터 타입데이터 유형정의CHAR(n)고정 길이 데이터 타입(최대 2000byte) - 지정된 길이보다 짧은 데이터가 입력될 시 나머지 공간은 공백으로 채워짐VARCHAR2(n)가변 길이 데이터 타입(최대 4000byte) - 지정된 길이보다 짧은 데이터가 입력될 시 나머지 공간은 채우지 않는다. NCHAR(n)고정 길이 유니코드 데이터 타입(최대 2000byte)NVARCHAR2(n)가변 길이 유니코드 데이터 타입(최대 4000byte)LONG가변 길이 데이터 타입(최대 2Gbyte)CL..