반응형
반응형
SET STATISTICS TIME (통계 시간 설정) 각 문을 구문 분석, 컴파일 및 실행하는 데 필요한 시간(밀리초)을 표시 ON 명령문에 대한 시간 통계가 표시 SET STATISTICS TIME ON select * from table OFF (기본 값) 시간 통계가 표시되지 않음 SET STATISTICS TIME OFF select * from table
에러 내용 프로시저 여러개를 생성하였는데 작동이 잘 되는데도 불구하고 자꾸 프로시저 선언문에 에러가 출력 Incorrect syntax: must be the only statement in the batch. 해결 방법 에러가 난 위에 코드에 GO 명령어 입력
GO sqlcmd, osql 유틸리티, SSMS 코드 편집기에서 인식되는 SQL이 아닌 명령어 즉, 쿼리 편집기에서 사용하는 쿼리문이 아닌 명령어 일괄 처리 및 스크립트를 쉽게 읽고 실행하기 위해 사용 블럭화한다라는 개념으로 이해하면 편함 구문 count GO 앞의 일괄 처리가 지정된 횟수만큼 실행 양의 정수 입력 GO [count] 사용 예시 (이해를 돕기 위해 간편화 했습니다.) GO 를 사용하여 일괄 처리 print('test') GO GO를 사용하여 일괄 처리 반복 print('test2') GO 2
테이블 반환 매개 변수 사용자 정의 테이블 형식을 사용하여 선언 임시 테이블이나 많은 매개 변수 없이 여러 행의 데이터를 반환 집합 기반 작업에 유용 설명이 다소 어려울 수 있으나 쉽게 풀어보자면 한 번 쓰고 사라지는 변수인데 가상의 테이블로 그룹화하여 여러개의 데이터를 묶어서 관리 할 수 있다. 물론, 일회성 변수이므로 사용 후 따로 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에 값 저장 ..