거꾸로 바라본 세상
[SQL Server] 프로시저 및 함수 사용법
Database/SQL 2023. 8. 7. 08:23

프로시저 생성 CREATE PROCEDURE [테이블명] [변수명] [타입], [변수명] [타입] OUTPUT -- 리턴일경우 OUTPUT 추가 AS BEGIN [내용] END GO 프로시저 수정 ALTER PROCEDURE [테이블명] [변수명] [타입], [변수명] [타입] OUTPUT -- 리턴일경우 OUTPUT 추가 AS BEGIN [내용] END GO 프로시저 삭제 DROP PROCEDURE IF EXISTS [테이블명] 프로시저 실행 EXEC or EXECUTE [프로시저명] [파라미터]... 함수생성 CREATE FUNCTION [FUNC_NAME] ( [변수명] [타입], [변수명] [타입] ) RETURNS [리턴타입] AS BEGIN DECLARE [리턴 변수명] [타입] [내용] RE..

article thumbnail
[DB설계]1. PK 컬럼 순서, 대충하지 말자
Database/Database 2016. 12. 13. 16:50

1. PK 컬럼 순서, 대충하지 말자 여러 개의 컬럼으로 구성된 PK 구성 테이블에서 있는 그대로 테이블을 생성해 버리면 발생하는 문제점1) 인덱스 구성에서 의도하지 않은 순서의 Primary Key Unique Index가 생성된다.2) 그에 따라 SQL 실행 시 성능 저하 현상이 나타날 수 있다.3) 많은 인덱스가 생성되므로 입력/수정/삭제 시 불필요한 내부 작업이 증가해 성능에 악영향을 마친다. 해결방법- 테이블 생성 전에 SQL Where 절을 분석하여 엔티티 타입의 PK 컬럼 순서를 조정하는 작업을 수행해야 한다.(PK 순서 트랜잭션의 처리 유형에 의해 조정) 1-1. PK 구성과 인덱스 이용- 스키마를 생성하기 이전에 데이터 모델의 PK 순서를 조절하지 않은 채 테이블을 생성하면 인덱스를 이용..

원격계정 접속관리
Database/MariaDB 2016. 8. 10. 17:32

원격계정 접속관리 MariaDB를 설치하면 기본적으로 로컬( localhost)에서만 접속이 가능하고 외부에서는접속이 불가능하게 되어 있다.외부에서 접속해보면 다음과 같은 오류 메시지가 나온다 Host '135.79.246.80' is not allowed to connect to this MySQL server 로컬에서 접속하여 SELECT Host,User,Password FROM mysql.user;​ 쿼리를 날려보면 localhost가 나온다.즉 root 계정으로는 로컬에서만 접속가능하다.(같은 방법으로 root 대신 다른 사용자명도 조회할 수 있다.) MariaDB 설정 /etc/ mysql/my.cnf 설정 변경bind_address 라인을 주석처리하거나0.0.0.0 또는* 로 세팅한다.$ s..

우분투에서 MariaDB 설치하기
Database/MariaDB 2016. 8. 10. 16:36

우분투에서 MariaDB 설치하기 설치 OS : Ubuntu 14.04LTS 1. MariaDB 다운로드 1-1. https://downloads.mariadb.org/ 에 들어가서상단에 linux 전용 repositry configuration tool 페이지로 진입. 1-2. step별로 항목 선택 : Ubuntu → 14.04 LTS 'trusty' → 10.1[Stable] → KAIST File Archive 1.3 아래 순서대로 입력 Here are the commands to run to install MariaDB on your Ubuntu system: $ sudo apt-get install software-properties-common$ sudo apt-key adv --recv-k..

article thumbnail
[SQL] Join(조인)
Database/SQL 2016. 3. 21. 11:00

Join(조인) - 조인이란 여러 테이이블에 흩어져 있는 정보 중 사용자가 필요한 정보만 가져와서 가상의 테이블처럼 만들어서 결과를 보여주는 것으로 2개의 테이블을 조합하여 하나의 열로 표현하는 것이다. 조인의 종류 1. INNER JOIN2. CROSS JOIN3. OUTER JOIN4. SELF JOIN 1. INNER JOIN(내부 조인)- INNER JOIN은 키 값이 있는 테이블의 컬럼 값을 비교 후 조건에 맞는 값을 가져오는 것이다. 간단히 말하면 서로 연관된 내용만 검색하는 조인 방법이다. (Inner Join) 사용법 SQ은 명시적 조인 표현과 암시적 조인 표현으로 구분을 지정한다. (1) 명시적 조인 표현- 명시적 조인표현 에서는 테이블에 조인을 하라는 것을 지정하기 위해 'JOIN' 키..

[Oracle] 기본 함수
Database/Oracle 2016. 3. 17. 12:14

1. 함수의 기능 - 함수는 SQL의 매우 강력한 기능이며 다음 작업을 수행하는데 함수를 사용할 수 있다.1) 데이터에 대한 계산 수행2) 개별 데이터 항목 수정3) 행 그룹에 대한 출력 조작4) 표시할 날짜 및 숫자의 형식 지정 SQL 함수는 단일 행 함수와 여러행 함수의 두 가지 유형으로 이루어져 있다. 함수 - 단일 행 함수 (행당 하나의 결과를 반환) - 여러 행 함수 (행 집합당 하나의 결과를 반환) 1-1. 단일 행 함수의 종류 단일 행 함수 : 문자함수 숫자함수 날짜함수, 변환함수(묵시적 데이터 변환, 명시적 데이터 변환), 일반함수 단일 행 함수 문자함수 숫자함수 날짜 함수 변환 함수 일반함수 묵시적 데이터 변환 명시적 데이터변환 - 단일 행 함수는 데이터 항목을 조작하구 인수를 받아들이고..

CDATA 키워드
Database/SQL 2016. 3. 17. 09:58

CDATA 키워드 XML에서의 비교연산시 사용하므로 xml 문서 내 쿼리 안에 '', '&' 등의 특수문자가 포함될 경우 에러를 방지한다. 형식쿼리문;]]>

테이블 복사(Table Copy)
Database/SQL 2016. 3. 15. 14:53

Table Copy 테이블을 다른 테이블 또는 새로운 테이블에 복사하는 것. 방법 1. 테이블을 구조만 복사 CREATE TABLE '테이블명' LIKE '구조를 복사할 테이블'; EX)CREATE TABLE MEMBER LIKE USER; !오라클에서 테이블 구조만 복사하는 법CREATE TABLE '테이블명' AS SELECT * FROM '구조를 복사할 테이블명' WHERE 1=2; 2. 구조와 내용복사 CREATE TABLE '테이블명' AS SELECT * FROM '구조를 복사할 테이블'; EX)CREATE TABLE MEMBER AS SELECT * FROM USER; 3. 테이블이 이미 생성되어 있는 경우 데이터만 복사 INSERT INTO '복사 될 테이블명' SELECT * FROM '..

article thumbnail
IN, BETWEEN 연산자
Database/SQL 2016. 3. 14. 10:39

(1) in 연산자 IN 연산자는 여러 조건을 간편하게 검색하기 위한 연산자로정보를 한꺼번에 모아서 검색해 줌. 그리고 연산속도가 빠름. 사용법where 절에서 사용하면된다컬럼명 in (내용) select name,job, salaryfrom employeewhere name in ('SMITH','ALLEN','BLAKE'); 결과 (2) between 연산자 between연산자는 특정 구간에 속한 모든 값을 출력한다.예를들어 급여가 1000~2000 사이의 값을 출력한다면 between을 이용하여 출력하면된다.between연산자는 값을 쓰는 순서에 주의 해야하고 두 값을 포함하지 않을 경우 between 연산자를 이용을 자제해야한다. between 연산자는 속도가 많이 느린 연산자에 속하므로 특정 범..