728x90 반응형 msSQL15 MS Sql Server - Stored Procedures (스토어드 프로시저) Stored Procedures - 스토어드(저장) 프로시저 - 미리 작성된 T-SQL 문장을 데이터베이스 객체로 저장한 것.- 반복되는 작업, 비즈니스 로직, 데이터 검증 등을 모듈화 하고, 재사용, 보안성을 향상시킴 기본 구조CREATE PROCEDURE dbo.usp_GetCustomerOrders @CustomerID NVARCHAR(5)ASBEGIN SELECT OrderID, OrderDate, TotalAmount FROM Orders WHERE CustomerID = @CustomerIDEND-- 사용방법EXEC dbo.usp_GetCustomerOrders @CustomerID = 'ALFKI'EXEC dbo.usp_GetCustomerOrders 'ALFKI' I.. 2025. 7. 30. MS Sql Server - User Defined Functions (UDF) 함수 - User Defined Functions (UDF)- 사용자 정의 함수(User Defined Function, UDF)는 T-SQL에서 직접 만든 함수로, 입력값을 받아 하나의 결과값을 반환- SQL 문에서 호출 가능하고, 재사용, 모듈화, 가독성 향상 등의 장점이 있다. UDF의 종류종류설명반환값Scalar Function하나의 값 반환int, varchar, datetime 등 스칼라 값Inline Table-Valued Function단일 SELECT문 기반 테이블 반환테이블 (inlined)Multi-statement Table-Valued Function복수 문장을 사용하여 테이블 반환테이블 (구조 정의 후 조작 가능) Scalar function 예시CREATE FUNCTION db.. 2025. 7. 29. MS Sql Server - cursor 커서 (cursor)를 사용하는 이유SQL은 기본적으로 집합 (set)기반 언어이며 다음 같은 경우 레코드 하나하나를 반복해서 처리할 필요가 있다. 레코드 단위로 복잡한 로직 처리예: 조건에 따라 다른 테이블에 INSERT/UPDATE예: 이전 행 값을 참조해서 현재 행 처리동적 SQL, 또는 조건 분기 로직 필요SELECT 결과에 따라 프로시저 실행, 로그 기록 등다양한 테이블 또는 조건에 따라 서로 다른 작업 수행다중 트랜잭션 처리 필요레코드마다 커밋 또는 롤백이 필요한 경우 항목WHILE + 임시 테이블CURSOR처리 단위집합 기반 or 인덱스 기반 루프행(row) 기반 반복코드 복잡도비교적 단순선언, OPEN, FETCH, CLOSE 필요성능보통 더 빠름상대적으로 느림유연성제한적매우 유연 (방향 .. 2025. 7. 28. MS Sql Server - 인덱스 클러스터 인덱스 (Clustered Index) 데이터 자체가 인덱스에 따라 정렬되어 저장된다. 즉 인덱스가 곧 실제 데이터의 저장 순서.테이블당 단 하나만 생성 가능하다특징 기본 키(PK)를 만들면 자동으로 클러스터드 인덱스가 생성됨 (명시 안 하면).인덱스가 정렬된 순서대로 데이터 페이지에 저장되므로 범위 쿼리에 유리.데이터 페이지 탐색이 빠름.CREATE CLUSTERED INDEX idx_employee_idON Employees (EmployeeID); 범위 검색 (between, > , 논클러스터 (Non-clustered) 인덱스인덱스는 따로 존재하고, 인덱스에는 데이터 위치 (포인터)가 저장된다.데이터는 별도로 존재하고 정렬되어 있지 않다.특징테이블당 여러 개를 생성이 가능하다.인덱스에.. 2025. 7. 27. MSSQL의 조회데이터를 csv로 만들기 MSSQL의 조회데이터를 CSV파일로 만들기DB에 저장해놓은 Kospi지수정보를 조회해서 CSV파일로 저장해야할 필요성이 있어서 찾아봤다. 1. UI에서 바로 저장하기쿼리 실행: SSMS에서 원하는 데이터를 조회하는 SQL 쿼리를 실행합니다.결과 저장:조회된 결과에서 마우스 오른쪽 버튼을 클릭하고 결과 저장 > 파일로 저장을 선택합니다.파일 형식을 CSV로 설정하고 저장 경로를 지정합니다.CSV 파일로 내보내기:파일 형식을 "CSV(쉼표로 구분된 값)"으로 선택하여 CSV 형식으로 데이터를 내보낼 수 있습니다. 2. SQL 쿼리와 bcp 명령줄 도구를 이용한 방법bcp 명령어를 사용하면 대량의 데이터를 CSV 파일로 쉽게 내보낼 수 있습니다.bcp "SELECT * FROM [데이터베이스명].[스키마명].. 2024. 9. 6. SQL Server - 테이블 수정 저장시 '테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함' 옵션 "디자인"에서 테이블 수정할 때 저장이 안 될 때 [테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함] 옵션 문제 생길 때. SQL Server Management Studio (SSMS)에서 테이블 수정 시 이와 같이 메시지가 나오면서 수정이 안 될 때? 컬럼의 NULL 허용 설정 변경 테이블의 컬럼 순서 변경 컬럼 데이터 형식 변경 새로운 컬럼 추가 이러한 사항은 메시지와 같이 해당 옵션을 사용할 때 발생한다. 도구 → 옵션 → 디자이너 [테이블을 다시 만들어야 하는 변경 내용 저장 안 함]의 옵션을 체크 해제한다. 수정 후 저장이 가능하다. 사실 간단한 건데 매번 찾아보기 뭐해서 글을 올려둔다. 2024. 3. 17. 이전 1 2 3 다음 반응형