목록MsSqlDB (107)
투케이2K
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] DECLARE -- [초기 변수 선언 부분] @V_NAME AS NVARCHAR(100), @V_AGE AS NVARCHAR(100); -- [초기 변수 값 할당 부분 - BEGIN 구문에서 재할당 가능] SET @V_NAME = ''; SET @V_AGE = 0; BEGIN -- [SELECT 쿼리문 수행 실시] SELECT @V_NAME = T_NAME , @V_AGE = T_AGE FROM TEST_USER WHERE T_NAME = '홍길동'; -- [PRINT 결과 출력 실시] PRINT '이름 : ' + CONVERT(VARCHAR, @V_NAME); PRINT '나이 : ' + CONVERT(VARCHAR..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /***************************************************************/ --CREATE PROCEDURE USER_PROC -- [생성] ALTER PROCEDURE USER_PROC -- [수정] ( @IN_NAME NVARCHAR(100), -- [인풋 : 이름] @IN_AGE NVARCHAR(100), -- [인풋 : 나이] @OUT_MSG NVARCHAR(100) OUTPUT -- [출력 : 파라미터] ) /*************************************************************** 설명 - 이름과 나이를 인풋값으로 받아서 해당..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [참고 사이트] https://logical-code.tistory.com/117 [MS-SQL] 프로시저에서 여러 행 데이터를 반환시킬 수 있을까? MSSQL을 사용하는 프로젝트에서 프로시저의 OUTPUT 매개변수로 여러 데이터, 여러 Row를 반환시킬 수 있는지 확인해야하는 일이 생겨 포스팅한다. 내가 알기로는 프로시저의 OUTPUT 매개변수로 테이 logical-code.tistory.com
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /***************************************************************/ --CREATE PROCEDURE USER_PROC -- [생성] ALTER PROCEDURE USER_PROC -- [수정] ( @IN_NAME NVARCHAR(100), -- [인풋 : 이름] @IN_AGE NVARCHAR(100), -- [인풋 : 나이] @OUT_MSG NVARCHAR(100) OUTPUT -- [출력 : 파라미터] ) /*************************************************************** 설명 - 이름과 나이를 인풋값으로 받아서 해당..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /***************************************************************/ --CREATE PROCEDURE USER_PROC -- [생성] ALTER PROCEDURE USER_PROC -- [수정] ( @IN_NAME NVARCHAR(100), -- [인풋 : 이름] @IN_AGE NVARCHAR(100), -- [인풋 : 나이] @OUT_RETURN INT OUTPUT -- [출력 : 파라미터] ) /*************************************************************** 설명 - 이름과 나이를 인풋값으로 받아서 해당 조건에 만족..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [방법 설명 : [1] 쿼리문 조회] 프로시저 생성 조회 : sp_helptext 'dbo.프로시저명칭' 프로시저 생성 조회 : sp_helptext 'dbo.USER_PROC' [방법 설명 : [2] GUI 툴 사용]
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] -- [함수 생성 수행 실시 : 인풋 파라미터 값으로 ONE, TOW 받음] CREATE FUNCTION USER_FUNC(@ONE INT, @TWO INT) /*************************************************************** 설명 - 두 정수값을 입력 받아 합계를 반환하는 함수 --------------------------------------------------------------- 함수 생성 조회 - SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'FUNCTION'; ---------------..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [RAND , FLOOR 사용해 랜덤 정수값 출력 실시] 1. RAND : 임의의 데이터를 반환합니다 2. FLOOR : 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환합니다 */ SELECT FLOOR(RAND()*(6)+1) AS '1부터 6까지 랜덤 정수값', FLOOR(RAND()*(100)+1) AS '1부터 100까지 랜덤 정수값'; [결과 출력] [요약 설명] /* [RAND , FLOOR 사용해 랜덤 정수값 출력 실시] 1. RAND : 임의의 데이터를 반환합니다 2. FLOOR : 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환합니다 */
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [변수에 값 대입 및 if else 문을 사용해 조건문 분기 처리 실시] 1. declare begin end - PL/SQL 기본으로 쿼리, 문법을 실행할 수 있습니다 2. declare [선언부] - 변수, 상수를 선언할 수 있습니다 3. begin [실행부] - 제어, 반복문, 함수 등 다양한 로직 기술을 실행합니다 4. end [종료부] - 실행된 로직의 종료를 선언합니다 5. set [할당] - 선언한 변수에 값을 할당할 수 있습니다 6. print [출력] - 결과물을 출력할 때 사용합니다 7. if , else if , else - 조건문을 분기에 따라서 처리할 수 있습니다 */ DECLARE -- ..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [index 인덱스 생성 및 삭제 수행 실시] 1. 인덱스(index)는 테이블에서 원하는 데이터를 쉽고 빠르게 찾기 위해 사용합니다 2. 인덱스는 자주 사용되는 필드 값으로 만들어진 원본 테이블의 사본이라고 생각할 수 있습니다 3. 인덱스를 사용하면 테이블 전체를 읽지 않아도 되므로, 검색과 질의에 대한 처리가 빠르게 이루어집니다 4. 인덱스는 사용자가 직접 접근할 수는 없으며, 검색과 질의에 대한 처리에서만 사용됩니다 5. 인덱스가 설정된 필드 값을 포함한 데이터의 삽입, 삭제, 수정 작업이 원본 테이블에서 이루어질 경우, 인덱스도 함께 수정되어야 합니다 */ -- [인덱스 생성 수행 실시] CREATE IN..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [ISNUMERIC 사용해 특정 데이터가 숫자 NUMBER 인지 확인 실시] 1. ISNUMERIC : 특정 데이터가 순수하게 숫자로 이뤄진 여부를 확인합니다 2. ISNUMERIC : 순수한 숫자로 이뤄진 경우 1값 반환 / 문자 포함 시 0 값 반환 */ -- [쿼리문 수행 실시] SELECT ISNUMERIC('5') AS '5 숫자 여부', ISNUMERIC(3) AS '3 숫자 여부', ISNUMERIC('A') AS 'A 숫자 여부'; [결과 출력] [요약 설명] /* [ISNUMERIC 사용해 특정 데이터가 숫자 NUMBER 인지 확인 실시] 1. ISNUMERIC : 특정 데이터가 순수하게 ..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [CHARINDEX 사용해 특정 문자열이 포함된 위치 값 INDEX 확인 실시] 1. CHARINDEX : 문자열에서 지정한 문자 위치를 반환합니다 2. 문법 : CHARINDEX(찾을 문자열, 원본 문자열) / CHARINDEX(찾을 문자열, 원본 문자열, 찾을 시작 위치) */ -- [쿼리문 수행 실시] SELECT CHARINDEX('A', COL) AS 'A 문자 위치', CHARINDEX('EF', COL) AS 'EF 문자 위치', CHARINDEX('A', COL, 3) AS 'A 문자 위치 [3 이후]', CHARINDEX('B', COL, 5) AS 'B 문자 위치 [5 이후]', CHARINDE..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [REVERSE 사용해 문자열 데이터 거꾸로 (반대로) 출력 실시] 1. REVERSE 는 입력된 문자열을 반대 순서로 출력합니다 2. REVERSE(데이터) 방식으로 문법을 사용합니다 */ -- [쿼리문 수행 실시] SELECT '투케이' AS '원본 문자열 출력', REVERSE('투케이') AS '문자열 거꾸로 출력'; [결과 출력] [요약 설명] /* [REVERSE 사용해 문자열 데이터 거꾸로 (반대로) 출력 실시] 1. REVERSE 는 입력된 문자열을 반대 순서로 출력합니다 2. REVERSE(데이터) 방식으로 문법을 사용합니다 */
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [coalesce 사용해 널이 아닌 첫번째 값을 출력 실시] 1. coalesce (값, 값, 값, ...) - 값들을 서로 비교해서 널이 아닌 첫번째 값을 출력합니다 2. coalesce (NULL,'2','3') - 첫번째 자리 값이 널이므로 건너뛰고, 그다음 값을 확인해서 출력합니다 3. 참고 : 오라클은 공백 '' 데이터를 널로 인식하지만 Mysql 에서는 일반 데이터로 인식합니다 (반드시 null 로 명시해줘야합니다) */ /*[쿼리문 실행 실시]*/ select coalesce ('1','2','3') as "널이 아닌 첫번째 값", coalesce (NULL,'2','3') as "널이 아닌 첫번째 ..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [테이블 변수 선언 및 while 반복문 구문을 사용해 테이블 조회 결과 출력 실시] 1. declare begin end - PL/SQL 기본으로 쿼리, 문법을 실행할 수 있습니다 2. declare [선언부] - 변수, 상수를 선언할 수 있습니다 3. begin [실행부] - 제어, 반복문, 함수 등 다양한 로직 기술을 실행합니다 4. end [종료부] - 실행된 로직의 종료를 선언합니다 5. set [할당] - 선언한 변수에 값을 할당할 수 있습니다 6. print [출력] - 결과물을 출력할 때 사용합니다 7. while - 지정한 단계 만큼 반복문을 수행할 수 있습니다 */ DECLARE -- [임시 테..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [ISNULL , CASE 문을 사용해서 널 NULL 데이터 확인 및 대체 값 출력 실시] 1. case when [조건] then [조건 만족] else [조건 비만족] end 문법으로 사용합니다 2. isnull(컬럼 및 데이터, 대체값) : 데이터가 null 인 경우 대체 값을 출력합니다 (공백 데이터는 그대로 출력) 3. 참고 : isnull 사용 시 공백 '' 데이터는 그대로 출력되므로 case 문을 사용해서 null 및 공백 '' 데이터를 확인합니다 */ -- [쿼리 문 수행 실시] SELECT ISNULL(COL1, '0') AS '[ISNULL] COL1', -- [공백 데이터] ISNULL(COL..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [커서 CURSOR 사용해 테이블 행 조회 결과 출력 실시 - CURSOR FOR OPEN , FETCH NEXT FROM] 1. CURSOR FOR OPEN - 커서 생성 및 오픈을 실시합니다 2. FETCH NEXT : 현재 행의 바로 다음 행 결과를 반환합니다 3. @@FETCH_STATUS = 0 : FETCH 문이 성공적으로 수행된 경우를 나타냅니다 4. CLOSE : 오픈한 커서를 닫습니다 5. DEALLOCATE : 커서와 커서 이름 또는 커서 변수 간의 연결을 제거합니다 */ DECLARE -- [커서 선언 부분] V_CURSOR CURSOR FOR SELECT T_IDX, T_NAME, T_DEP..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [while 반복문 구문을 사용해 sum 합계 구하기 실시 - declare, begin, end] 1. declare begin end - PL/SQL 기본으로 쿼리, 문법을 실행할 수 있습니다 2. declare [선언부] - 변수, 상수를 선언할 수 있습니다 3. begin [실행부] - 제어, 반복문, 함수 등 다양한 로직 기술을 실행합니다 4. end [종료부] - 실행된 로직의 종료를 선언합니다 5. set [할당] - 선언한 변수에 값을 할당할 수 있습니다 6. print [출력] - 결과물을 출력할 때 사용합니다 7. while - 지정한 단계 만큼 반복문을 수행할 수 있습니다 */ DECLARE ..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [declare begin end 기본 구조 설명 및 문법 실행] 1. declare begin end - PL/SQL 기본으로 쿼리, 문법을 실행할 수 있습니다 2. declare [선언부] - 변수, 상수를 선언할 수 있습니다 3. begin [실행부] - 제어, 반복문, 함수 등 다양한 로직 기술을 실행합니다 4. end [종료부] - 실행된 로직의 종료를 선언합니다 5. set [할당] - 선언한 변수에 값을 할당할 수 있습니다 6. print [출력] - 결과물을 출력할 때 사용합니다 */ DECLARE -- [초기 변수 선언 부분] @V_NAME AS VARCHAR(100), @V_AGE AS INT;..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* *[case when then 조건문 사용해 데이터 출력 실시] *1. case - 조건문을 시작한다는 의미입니다 *2. when - 조건절을 표시하는 부분입니다 *3. then - 조건을 만족하는 경우 수행되는 부분입니다 *4. else - 조건을 만족하지 않는 경우 수행되는 부분입니다 *5. end - 조건문을 종료한다는 의미입니다 */ -- [case 문 수행 실시] SELECT T_NAME AS '이름', T_AGE AS '나이', T_DEPT AS '부서', CASE WHEN T_DEPT = '고구려' THEN '고구려 조건만족' WHEN T_DEPT = '백제' THEN '백제 조건만족' WHEN T_..