본문 바로가기
반응형

DataBase/MsSql89

MSSQL 프로시저 내용검색, 문자열 검색 방법 MSSQL은 생성된 프로시저의 내용 및 문자열을 database에 저장하고 있으므로 Query 또는 명령어로 프로시저 내용검색, 문자열을 검색할 수 있습니다.프로시저 문자열 검색, 내용검색 설명프로시저 명을 알고 있다면 sp_helptext 명령어로 내용검색이 가능합니다. 가장 자주 사용하는 명령어입니다.object_id 알고 있다면 OBJECT_DEFINITION을 이용하여 문자열 내용을 검색할 수 있습니다.시스템 뷰에서 직접 검색할 수도 있는데 보통은 syscomments의 TEXT COLUMN을 이용하면 가능합니다.시스템 뷰에서 지원하는 sys.sql_modules는 SQL 언어로 정의된 모든 module을 제공하므로 프로시저 내용도 검색할수 있습니다. 물론 트리거, function 등등 지원합니다.. 2024. 5. 18.
MSSQL 저장 프로시저 디버깅 방법 MSSQL에서 저장 프로시저를 디버깅하는 방법을 너무 힘들어하는 것 같아서 stored procedure 간단하게 디버깅하는 방법에 관해서 설명하려고 합니다. 저장 프로시저를 디버깅 종류PRINT문 이용 프로시저 디버깅 방법은 값을 확인할 때 가장 많이 사용하는 방법으로 필요한 포인트에 print문을 사용하여 값을 확인하는 방법입니다.SELECT 문 사용에서 프로시저 디버깅 방법은 보통 dynamic query 사용할 때 사용하는데 excute 되는 문장하고 파라미터를 출력할 때 사용합니다.RAISERROR은 특정 지점에 에러 메시지를 보여주면서 값을 확인할 수 있습니다.DEBUG FLAG는 프로시저에 파라미터 선언할 때 추가한 후 실행할 때 DEBUG FLAG 변경하면서 디버깅하는 방법입니다.저장 프.. 2024. 5. 16.
Stored Procedure 장점 및 단점 Stored Procedure는 데이터베이스에 컴파일되어 Database 서버에 저장되면서 장점도 있지만 단점 있어서 설명 예정입니다.Stored Procedure 장점, 단점 설명 Stored Procedure 장점.Database 성능 면에서 Procedure는 기본적으로 첫 실행 시 컴파일되기 때문에 실행 계획을 재사용할 수 있어 성능 향상이 있습니다. Stored Procedure는 한 번의 요청으로 여러 SQL 문을 실행할 수 있으므로 편하게 사용할 수 있습니다.Database 중앙에서 SQL 로직을 관리하므로 유지보수가 쉽습니다.보안 측면에서 직접적인 SQL 문을 호출하지 않고 저장 프로시저 호출을 하므로 보안성이 좋습니다.Stored Procedure 단점.오류 발생 시 디버깅이 일반 SQL.. 2024. 5. 14.
Stored Procedure 실행 및 만들기 Stored Procedure는 데이터베이스에 컴파일되어 Database 서버에 저장되는 SQL 문입니다.Stored Procedure 설명Stored Procedure 대부분의 Database에서 지원되는 기능으로 Query 집합체하고 생각하면 됩니다.Stored Procedure는 Database 서버에 저장되어 재사용할 수 있습니다. 즉, 반복적인 SQL을 사용해야 할 때 유용합니다.DML 문의 SELECT, INSERT, UPDATE, DELETE뿐만 아니라 IF 문, Declare, set, 커서, while 문, dynamicSql문 etc 대부분 사용할 수 있습니다.Procedure는 기본적으로 첫 실행 시 컴파일되기 때문에 실행 계획을 재사용할 수 있어 성능 향상에 많은 도움이 됩니다.Pr.. 2024. 5. 12.
Dynamic SQL 사용법 및 example Query Dynamic SQL은 전달된 입력 매개변수를 기반으로 런타임에 SQL 문이 만들어지고 실행되는 매우 유용하게 사용하는 SQL 문입니다.Dynamic SQL 특징Dynamic SQL은 SQL 쿼리를 조건에 따라서 문자열로 만들어 런타임에 동적으로 실행하는 프로그램 방법입니다.프로그램에서 요청하는 변수의 값을 이용하여 Query 문을 동적으로 작성할 수 있습니다.Dynamic SQL은 Query를 단순화시킬 수 있고 개발 소스의 양을 줄일 수 있습니다.Dynamic SQL 문자열은 EXEC, EXECUTE, sp_executesql을 이용하여 실행합니다.Dynamic SQL 사용 방법DML 문에 대한 Dynamic SQL 사용법. 문자열 변수에 DML 문을 만든 후 Dynamic SQL 실행합니다. DRO.. 2024. 5. 10.
sp_executesql 사용법 및 매개변수 sp_executesql은 매개변수를 포함하는 쿼리를 효율적으로 실행할 수 있는 명령어로 Transact-SQL 문이나 저장 프로시저에서 주로 사용됩니다. sp_executesql 특징sp_executesql은 동적 쿼리 실행 시 매우 효율적이며 매개변수를 사용할 수 있습니다. 실행되는 query 문장은 sp_executesql 문이 실행될 때까지 미리 컴파일되지 않고, sp_executesql로 호출할 때 query 문장은 별도로 실행 계획으로 컴파일하고 실행됩니다.즉, Transact-SQL 문을 여러 번 실행할 때, 실행 계획은 미리 컴파일되어 재사용될 수 있습니다.매개변수에는 유니코드 문자열이 포함되어서 다국어 데이터를 처리할 수 있습니다.sp_executesql은 EXECUTE 개선 사항을 나왔.. 2024. 5. 8.
MSSQL EXECUTE 사용법 및 실행 예제 MSSQL EXECUTE 명령은 MSSQL에서 저장 프로시저 또는 전달된 SQL 문자열을 실행하는 데 유용하게 사용됩니다.MSSQL EXECUTE 특징PROCEDURE, FUNCTION 실행.EXECUTE 명령어는 시스템 PROCEDURE, 사용자 정의 PROCEDURE, 스칼라 반환 사용자 정의 FUNCTION을 실행하거나 Transact-SQL 일괄 처리할 때 사용합니다.문자열, dynamic SQL 실행.문자열 조합으로 작성된 Transact-SQL 문이나 사용자 정의 PROCEDURE 내에서 동적으로 생성된 쿼리나 일괄 처리를 실행할 때 유용합니다. MSSQL EXECUTE 사용 권한.EXECUTE 문을 실행하는 데에는 사용 권한이 필요하지 않지만, EXECUTE 문자열 내에서 참조되는 대상에 대.. 2024. 5. 6.
MSSQL OUTPUT 절 사용법 및 활용 MSSQL OUTPUT 절은 query 결과를 실시간으로 확인하고, 다른 작업에 활용할 수 있어 데이터 무결성을 유지하고, 데이터베이스 작업의 효율성 높여줄 수 있습니다.MSSQL OUTPUT 활용데이터 감사 기능.OUTPUT 절을 사용하여 데이터 변경 사항을 사용자가 원하는 테이블에 저장할 수 있습니다. 즉, 데이터의 변경 이력을 저장하는 데 매우 효율적입니다.OUTPUT 절의 사용은 데이터베이스 작업의 투명성을 높여주고 실시간으로 데이터 변경 사항을 추적하는 데 활용됩니다.또한 INTO 키워드를 사용하여 반환되는 data를 다른 테이블에 저장할 수도 있습니다. INSERT, UPDATE, DELETE 명령문에서는 변경되거나 삭제된 DATA의 원래 데이터와 새 데이터를 비교할 수 있습니다.트랜잭션 중인.. 2024. 5. 4.
MSSQL EXCEPT, INTERSECT 차이점 및 사용법 EXCEPT 하고 INTERSECT는 집합 연산자로 수학 시간에 배운 차집합, 교집합 하고 동일한 연산 방식입니다.EXCEPT, INTERSECT 특징EXCEPT는 두 개의 query 결과 중 첫 번째 query에는 있고, 두 번째 query에는 없는 행을 반환합니다.INTERSECT는 두 개 query 결과에 모두 존재하는 행을 반환합니다. 즉, 공통된 행만 반환합니다.두 개의 query의 열의 개수와 순서가 같아야 연산할 수 있습니다.query에서 반환되는 데이터 형식은 호환되어야 합니다.EXCEPT, INTERSECT 사용법EXCEPT 소스 예제.자료 만드는 공통 소스입니다.-- 1. EXCEPT,INTERSECT DROP TABLE IF EXISTS AForExceptIntersect;CREATE.. 2024. 5. 2.
MSSQL TRUNCATE DELETE 차이점 및 사용법 TRUNCATE TABLE 명령문은 테이블의 전체 또는 테이블의 지정된 파티션의 모든 데이터를 빠르게 삭제할 때 주로 사용합니다.TRUNCATE 명령어와 DELETE 차이점Truncate 명령어 특징.Truncate는 DDL 명령어이다.TRUNCATE 명령어는 DELETE 명령보다 더 빠르게 행을 삭제할 수 있습니다.자동증가 열 IDENTITY를 초기화할 수 있다.테이블 구조는 변경되지 않습니다. 즉 column 정보, 제약 조건, 인덱스 변경되지 않고 data만 삭제됩니다.table의 데이터 저장소의 페이지 취소만을 트랜잭션 로그에 저장하기 때문에 delete 문의 비해서 공간을 덜 사용합니다.where절처럼 조건절 사용할 수 없습니다.Delete만 특징.Delete는 DML 문입니다.record의 행.. 2024. 4. 30.
MSSQL BULK INSERT 사용법 및 예제 BULK INSERT는 대량의 데이터 파일을 데이터베이스 테이블에 INSERT 할 때 사용합니다. BULK INSERT 특징BULK INSERT를 하면 TXT, CSV 파일을 테이블에 삽입할 수 있습니다. INSERT 및 ADMINISTER BULK OPERATIONS 권한이 필요합니다.서식 파일을 BULK INSERT와 함께 사용하면 최대 1024개의 필드까지만 가능합니다.데이터를 입력할 때 BULK INSERT 문 내에 BATCHSIZE 절을 지정하여 나눠 작업할 수 있습니다.BULK INSERT 사용법 예제BULK INSERT 사용법 예제 및 권한.기본적으로 제약 조건을 사용하지 않습니다. 제약 조건을 확인하려면 CHECK_CONSTRAINTS 옵션을 사용하세요.테이블에 Trigger가 사용 중이면.. 2024. 4. 28.
MSSQL NEWID() 함수 특징 및 사용법 NEWID() 함수는 MSSQL에서 고유 식별자(GUID)를 생성할 때 사용하는 함수입니다. NEWID() 함수 특징NEWID() 함수로 생성된 GUID는 호출될 때마다 중복되지 않는 임의의 값을 반환합니다. NEWID() 함수와 RFC4122와 호환되고 있습니다. 즉 반환 값은 중복되지 않으면서 랜덤으로 값을 반환합니다.NEWID()는 32 hex code로 되어 있는 Uniqueidentity 타입 함수입니다.NEWID() 함수 사용법SELECT 절에서 NEWID() 사용법.기본 소스 예제입니다.--1.SELECT 절에서 NEWID() 사용법. SELECT NEWID() AS 'NewId' ;테이블 생성 때 NEWID() 사용법.NEWID() 함수를 칼럼의 기본값으로 데이터를 입력할 때 임의의 .. 2024. 4. 26.
MSSQL IDENTITY(자동증가열) 설정, 초기화, 해제 MSSQL에서 자동증가열이 필요한 경우 IDENTITY를 사용하며, IDENTITY 열은 대부분 생성된 테이블의 기본 키로 사용합니다.IDENTITY 특징새로운 행이 insert 할 때마다 자동으로 값이 증가합니다.IDENTITY 열은 초깃값을 설정할 수 있는데 보통은 1부터 시작합니다.중간에 데이터를 삭제하면 해당 row의 IDENTITY 값은 재사용되지 않습니다.중간에 비어있는 IDENTITY 값을 넣어주기 위해서는 IDENTITY_INSERT 사용해야 합니다.IDENT_INCR 사용하여 IDENTITY 자동 증가 값을 확인할 수 있습니다.IDENT_CURRENT 사용하여 IDENTITY 마지막 반환 값을 확인할 수 있습니다.@@IDENTITY, SCOPE_IDENTITY()의 차이점에 관해 설명합.. 2024. 4. 25.
MSSQL FORMAT 함수 사용법 및 설명 FORMAT 함수를 통하여 사용자는 숫자 및 날짜 자료형의 형식을 다른 함수보다 유연하게 지정할 수 있습니다.FORMAT 함수 특징MSSQL은 기본적으로 대소문자를 구분하지 않지만, FORMAT 함수의 format에는 대소문자를 구분합니다.대량의 데이터를 처리할 때는 성능에 문제가 있으므로 사용 시 주의해야 합니다.FORMAT은 valid가 아닌 culture 이외의 다른 오류에 대해 NULL을 반환합니다. 예를 들어 format에 지정된 값이 유효하지 않으면 NULL이 반환됩니다.FORMAT 함수 사용법 및 설명FORMAT 구문-- FORMAT 구문FORMAT( value, format [, culture ] ) ;value : 서식을 지정할 지원되는 데이터 형식의 식입니다 format: 날짜 문자열 .. 2024. 4. 20.
MSSQL CAST 함수 사용법 정리 및 성능 저하 MSSQL에서 지원되는 CAST 함수는 CONVERT 함수와 같게 데이터 타입 변환할 때 사용되는 함수입니다.CAST 함수 특징CAST 함수는 하나의 유형에서 다른 타입으로 데이터를 변환하는 데 사용됩니다.문자열을 숫자로 변환하거나 날짜 형식을 다른 형식으로 변환할 때 유용하게 사용하고 있습니다. CAST 함수는 간단하게 데이터 형식을 변환하는 데 주로 사용됩니다.CAST 함수 사용법 및 설명CAST 함수 구문.CAST( expression AS data_type [(length)])data_type : 데이터를 변환하려는 데이터 타입입니다.length : 반환되는 데이터 타입의 길이입니다.expression : 변환하는 실제 데이터 또는 필드입니다.data type 변경 방법.CAST 함수 이용하여 문.. 2024. 4. 18.
반응형