반응형
반응형
테이블 반환 매개 변수 사용자 정의 테이블 형식을 사용하여 선언 임시 테이블이나 많은 매개 변수 없이 여러 행의 데이터를 반환 집합 기반 작업에 유용 설명이 다소 어려울 수 있으나 쉽게 풀어보자면 한 번 쓰고 사라지는 변수인데 가상의 테이블로 그룹화하여 여러개의 데이터를 묶어서 관리 할 수 있다. 물론, 일회성 변수이므로 사용 후 따로 DROP 키워드를 사용하여 삭제해야 하는 번거로움을 줄일 수 있다. (= 자원 관리의 효율이 올라간다.) 테이블 변수의 장점 (사용 이해를 돕기 위해 간단히 대표적인 장점만 설명) 입력 데이터의 복사본을 만들지 않음 서버의 왕복을 줄임 (성능 향상) 즉, 쿼리 비용을 줄이는 것을 목표로 최적화에 유용하게 사용 서버 DB에서 SQL문 실행시 매번 서버에서 데이터를 가져와야 ..
이 포스팅은 MSSQL을 기준으로 작성하였습니다. 다른 DBMS는 사용 방법이 약간 다를 수 있습니다. 조건문(IF)이란?프로그램의 흐름을 제어하기 위해 사용하는 실행문어떤 조건이 주어질 때 어떤 동작을 수행하는 실행문구문IF (조건)조건에 맞을 경우 수행BEGIN ... END 로 블럭화 할 경우 블럭 전체의 코드를 수행단독 사용 가능 (ELSE IF 또는 ELSE 없이 사용) ELSE IF (조건)IF 조건 다음으로 오는 구문IF 조건에 맞지 않을 경우 다음으로 제시 할 조건을 명시단독 사용 불가 (반드시 IF 다음에 명시)생략 가능 ELSEIF 또는 ELSE IF 조건 다음으로 오는 구문명시한 모든 조건이 맞지 않을 경우 수행단독 사용 불가 (IF 또는 ELSE IF 없이 사용 불가)생략 가능..
BEGIN ... END BEGIN ... END 란? SQL문의 그룹을 실행 할 수 있또록 일련의 그룹화를 한 것 BEGIN 으로 시작하고 END로 끝내는 흐름 제어 언어 키워드 구문 BEGIN -- 쿼리문 혹은 쿼리 블럭 SQL Query | SQL Query Block END 특징 BEGIN ... END 블럭은 중첩 될 수 있음 트랜잭션 사용시 BEGIN ... COMMIT(ROLLBACK) 사용 예시 두 개의 중첩된 BEGIN ... END 블럭을 사용하여 SQL문 작성해보기 BEGIN COMMIT(ROLLBACK) 블럭 1 : 트랜잭션 a라는 변수가 0의 값을 가지고 있으면 저장된 DB 롤백 BEGIN END 블럭 2 : 제어문 (IF) a라는 변수가 0의 값을 가지지 않으면 DB에 값 저장 ..
NEW ID new id란? SQL문에서 사용되는 Unique Identifier 형식의 고유한 값을 만드는 명령어 구문 newid() new id 함수 사용 uniqueidentifier 데이터 형식으로 변수 값 할당 변수 값은 컴퓨터마다 다름 select newid() 특정 테이블의 무작위 데이터 추출하기 new id 함수를 사용하여 무작위 행 추출 order by 절에 newid()함수를 사용하면 임의의 행을 가져옴 select * from 테이블명 order by newid() 무작위 데이터 추출 사용 예시 사전 설명 : 테이블(iNumberTable)에는 1부터 100까지의 값이 차례로 저장되어 있음 조건1 : 1부터 9 사이의 숫자만 사용 조건2 : 총 9개의 행 출력 조건3 : 무작위의 순서..
예시에 사용할 테이블 생성테이블 이름 : iNumberTable컬럼 이름 : iNum데이터 타입 : int 비어 있는 테이블 확인select * from iNumberTableSQL을 사용하여 FOR문 구현-- 반복문에 사용될 변수 선언DECLARE @idx INT-- 기본 값 설정SET @idx = 1-- FOR문 구현 (=for i=1; i쿼리 실행 결과
트랜잭션에 대한 자세한 설명이 필요한 경우 아래의 포스팅 참조 https://luvris2.tistory.com/387 MSSQL - 트랜잭션의 개념 이해와 종류, 사용 방법 해당 포스팅은 MSSQL을 기준으로 작성하였습니다. 오라클과는 다를 수 있습니다. 트랜잭션이란? (Transaction) 데이터베이스 관리 시스템에서 상호작용의 단위 하나의 논리적 작업 단위로 수행되는 luvris2.tistory.com SET XACT_ABORT 옵션 : ON Transact-SQL문에서 런타임 오류가 발생 할 경우 전체 트랜잭션이 종료된 후 롤백되는 기능 옵션 : OFF 오류를 일으킨 Transact-SQL문만 롤백되고 처리 작업 계속 진행 단, 오류 심각도에 따라 전체 트랜잭션이 롤백 될 수 있음 기본 설정 S..