DB19 [MSSQL] 임시테이블 존재여부 확인 임시테이블이 세션이 살아있는 동안 존재하다보니 프로시저 안에서 생성하는 경우 이미 존재한다는 에러가 종종 발생한다. 따라서 임시테이블이 존재할 경우 삭제하고 생성하는 쿼리가 필요하다 IF OBJECT_ID(;tempdb..[임시테이블명]') IS NOT NULL DROP TABLE [임시테이블명] 삭제 뿐만 아니라 임시테이블이 살아 있을 시 필요한 작업 등을 처리 할 수 있다. 2020. 4. 27. [MSSQL] SELECT INTO - 테이블 또는 임시테이블 복사 테이블을 복사하기 위해 주로 아래 방법을 사용하였다. CREATE TABLE TEMP_테이블명( ) INSERT TEMP_테이블 SELECT * FROM 원본테이블 복사할 테이블이 많아지고 컬럼이 수십개가 되니 너무 번거로운 작업이였고 찾아보니 select into를 이용하여 간단하게 복사가 가능하였다. 위 쿼리를 select into로 변경하면 select * into TEMP_테이블 from 원본테이블 [조건문] 만약 임시테이블을 생성하여 복사하고 싶다면 select * into #TEMP_테이블 from 원본테이블 [조건문] #을 붙여주면된다. ##을 붙이면 전역 임시테이블로 생성되면 #은 해당 세션에서만 사용가능하며 ##은 전역으로써 모든 세션에서 사용 가능하다. 임시테이블은 로그아웃 전까지 존재.. 2020. 4. 27. [MSSQL] 저장 프로시저 생성 및 수정과 실행 - 프로시저 생성 CREATE PROC [프로시저명] [파라미터 이름] [파라미터 타입] AS [프로시저 구문] ex) CREATE PROC dbo.proc1 @NUM INT, @STRING VARCHAR(100) AS SELECT @NUM, @STRING - 프로시저 수정 ALTER PROC [프로시저명] [파라미터 이름] [파라미터 타입] AS [프로시저 구문] - 프로시저 실행 EXEC [프로시저명] [파라미터값], [파라미터값] ex) EXEC [dbo].[proc1] 10, '마스크' 수정, 삭제 구문에서 PROC은 PROCEDURE로 써도 가능하다. 2020. 4. 27. [MSSQL] CSV 파일 생성 및 문제 해결 방법 MSSQL에서 CSV 파일 생성 방법은 크게 3가지가 있다. 1. SSMS, 즉 툴을 이용하여 생성 2. Bulk문 사용 3. bcp cmdshell 사용 1번은 수 많은 작업이 주기적으로 필요 할 시 일일이 사람이 클릭해서 만들어야되므로 매우 번거롭다. 하지만 간단한 테스트로는 사용하기 가장 편하다. 2번은 로컬환경에서만 가능하다. 대부분 토이 프로젝트나 연습용이 아니라면 DB서버는 별개로 있을 것이다. 따라서 사용하기 힘들다. 3번은 다른 서버도 접근이 가능하지만 권한이 필요하다. 권한만 있다면 CSV파일 생성 뿐만 아니라 수많은 작업이 가능하기에 매우매우 조심해야된다. bcp의 여러 기능 중 CSV 파일 생성 방법이다. EXEC master..xp_cmdshell 'bcp "[select문]" qu.. 2020. 4. 27. 이전 1 2 3 4 5 다음