하나의 SQL Server 인스턴스에서는 여러 개의 **카탈로그(데이터베이스)**가 존재할 수 있으며, 각 카탈로그 안에는 여러 개의 스키마가 존재할 수 있습니다.
예를 들어, 개발, 테스트, 운영 환경을 각각 별도의 카탈로그로 관리하고, 각 카탈로그 내에 user, sales, delivery, dbo 등 여러 스키마를 구성할 수 있습니다.

예시 구성

  1. Catalog (카탈로그)
    • dev (개발 환경)
    • qa (테스트 환경)
    • prod (운영 환경)
  2. Schema (스키마)
    • user
    • sales
    • delivery
    • dbo

테이블 참조 예시

예를 들어, catalog가 dev이고 schema가 user인 환경에 있는 테이블 tbl_user_m를 참조하려면, 다음과 같이 쿼리를 작성할 수 있습니다.

SELECT * FROM dev.user.tbl_user_m;

위 쿼리는 dev 카탈로그(데이터베이스) 내의 user 스키마에 존재하는 tbl_user_m 테이블의 모든 데이터를 조회합니다.

환경 별 카탈로그 구성 시 고려사항

  • 동일한 스키마 이름 사용 가능성:
    개발, 테스트, 운영 환경 별로 카탈로그를 나누고 각 카탈로그마다 동일한 스키마(예: user, sales 등)를 구성할 수 있습니다.
    이 경우, 각 환경은 독립적인 데이터베이스로 운영되므로 동일한 스키마 구조를 갖게 됩니다.

  • 스키마 명칭의 차이 가능성:
    하지만 카탈로그를 독립적으로 관리하는 경우, 각 환경마다 데이터베이스 관리 정책에 따라 스키마 구조가 달라질 가능성도 있습니다.
    예를 들어, 운영 환경에서는 보안을 위해 스키마 구성을 다르게 하거나, 추가적인 스키마를 사용해 세부 관리를 할 수도 있습니다.

이처럼 SQL Server 인스턴스에서 카탈로그와 스키마를 어떻게 구성하는가는 프로젝트의 요구사항 및 운영 정책에 따라 유연하게 결정할 수 있습니다.

SELECT INTO는 SELECT 한 데이터를 INTO 테이블_COPY에 넣어주는 STATEMNET 이다

EX)

SELECT * 
INTO 테이블_COPY
FROM 테이블

'숨기기 > MSSQL' 카테고리의 다른 글

[MSSQL] CURSOR, FETCH  (0) 2023.03.22
[MSSQL] IIF FUNCTION  (0) 2023.02.28
[MSSQL] CAST 데이터 형식 변경  (0) 2023.01.25
[MSSQL] CONCAT 문자열 합치기  (0) 2023.01.25
[MSSQL] ISNULL 사용법(NULL 값 체크)  (0) 2023.01.19

DECLARE TEST_CUR CURSOR FOR

SELECT 
  1
, 2
, 3
, 4
FROM TEST_TABLE WITH(NOLOCK)
WHERE 1 = 1

OPEN TEST_CUR 

FETCH NEXT FROM TEST_CUR
INTO @A , @B , @C , @D

WHILE @@FETCH_STATUS = 0
BEGIN

UPDATE ? 
INSERT ?

FETCH NEXT FROM TEST_CUR
INTO @A , @B , @C , @D
END 

CLOSE TEST_CUR
DEALLOCATE TEST_CUR


--해석
CURSOR를 선언하고 사용할 데이터를 뽑아 FETCH를 이용해 @변수에 넣어준다
그리고 PROCESS 할 것들을 작성해주고 CLOSE 하고 DEALLOCATE 해주면 끝이난다

-- DEALLOCATE ?
CURSOR에 담겨있는 데이터를 RELEASE 해주는 것이다. (메모리에 잡혀있는 데이터를 없앤다)

-- FETCH란 ? 
FOR 문과 같은 원리라고 생각하면된다.
10개의 값이 있으면 하나씩 읽어와 10번 실행한다고 생각하면된다.

'숨기기 > MSSQL' 카테고리의 다른 글

[MSSQL] SELECT INTO  (0) 2023.03.22
[MSSQL] IIF FUNCTION  (0) 2023.02.28
[MSSQL] CAST 데이터 형식 변경  (0) 2023.01.25
[MSSQL] CONCAT 문자열 합치기  (0) 2023.01.25
[MSSQL] ISNULL 사용법(NULL 값 체크)  (0) 2023.01.19

IIF FUNCTION                                                                                                                                                                                                                                                        
IIF( 조건 , TRUE, FALSE)

해당 조건이 맞다면 TRUE 틀리면 FALSE의 값을 출력한다.

예) 
salary = 150,000

IIF(salary <50000, low , IIF(salary < 100000, medium, high))

현재 salary 가 150,000 임으로 high 가 나온다

'숨기기 > MSSQL' 카테고리의 다른 글

[MSSQL] SELECT INTO  (0) 2023.03.22
[MSSQL] CURSOR, FETCH  (0) 2023.03.22
[MSSQL] CAST 데이터 형식 변경  (0) 2023.01.25
[MSSQL] CONCAT 문자열 합치기  (0) 2023.01.25
[MSSQL] ISNULL 사용법(NULL 값 체크)  (0) 2023.01.19

리눅스 명령어 모음

-- 톰켓 확인 방법
 ps aux | grep tom   * cpu, ram 정보까지 보여줌
 ps -ef | grep tom
 

-- 실시간으로 메모리 , cpu 사용량 확인방법
 top
 
-- 메모리 확인(RAM)
 free -h 

-- 저장공간 확인방법
 df -h
 
-- cpu 사용량 확인방법 ( 100 - %idle)
mpstat

-- 삭제
rm dir

-- 복사
cp dir  복사할 위치

-- dir 이동
cd 폴더명

-- 뒤로 이동
cd ..

-- 톰캣 죽이기
kill -9 #pidNo


* cmd 좀비톰캣 죽이기

-- 통캣 확인방법
netstat -ao 
1. 해당 톰캣 port 번호를 확인후 pid 확인

-- kill 
taskkill /f /pid #pidNO

'숨기기 > 리눅스' 카테고리의 다른 글

[리눅스] 리눅스 기초 (1)  (0) 2023.01.27

1. 커널 
- 하드웨어와 애플리케이션간 상호작용을 도와주는 OS의 핵심 구성요소
uname -r 로 리눅스에서 커널의 버전을 확인할수있다 

2. 쉘
- 유닉스 계열의 시스템에서 사용하는 대화형 인터페이스
- 사용자의 명령을 입력받아 해석하여 커널에 전달하고 결과물을 사용자에게 전달

현재 사용중인 쉘 확인
echo $SHELL

사용가능한 쉘 확인
cat /etc/shells

3. 프로세스
- 실행중인 프로그램 
- 멀티테스킹 : 여러개의 프로그램을 실행
   * 실행 방식
리눅스의 프로세스는 foreground 와 background 방식으로 동작한다
  1) foreground 
     - 키보드 입력을 받아서 동작하는 방식 
     - 작업을 실행하면 다른작업 불가
     예) example.sh
  2) background
     - 사용자와의 대화 없이 실행되는 작업 방식
     - 명력어 뒤에 & 를 붙여서 실행하고 다른 명령어를 추가적으로 입력 가능
      예) example.sh &
백그라운드 방식으로 작업을 실행하여도 터미널 세션이 종료되면 작업중인 프로세스도 종료된다
그러므로, "nohup" 명령어를 사용하여 터미널 세션이 종료되어도 작업이 종료될때까지 프로세스를 실행합니다. 
     -- "nohup" 
      예) nohup example.sh &

'숨기기 > 리눅스' 카테고리의 다른 글

[리눅스] 명령어 모음  (0) 2023.02.28

CAST 는 데이터형식을 변경할때 사용하는 함수이다 

예)  DECLARE @INT1 INT = 20220302
       DECLARE @STR1 VARCHAR = '20220302'

SELECT CAST(@INT1 AS VARCHAR)
값 = '20220302'

SELECT CAST(@STR1 AS INT) 
값 = 20220302

SELECT CAST(@STR1 AS DATETIME)
값 = '2023-03-02  00:00:00.000'
* '20230302' 나 '2023-03-02' 둘다 사용가능하다

만약, 시간도 변경을 해주고싶다면
1.  20230302 12:12:12.322     이나
2.  2023-03-02 12:12:12.322    인 문자열로 만들어 주면된다.

값 = '2023-03-02  12:12:12.322'

'숨기기 > MSSQL' 카테고리의 다른 글

[MSSQL] CURSOR, FETCH  (0) 2023.03.22
[MSSQL] IIF FUNCTION  (0) 2023.02.28
[MSSQL] CONCAT 문자열 합치기  (0) 2023.01.25
[MSSQL] ISNULL 사용법(NULL 값 체크)  (0) 2023.01.19
[MSSQL] SSMS 단축키 모음 (1)  (0) 2023.01.18


CONCAT 함수 : 문자열을 합칠때 사용한다

예) declare @int1 int = 10
     declare @str2 varchar(3) = '명 '
     declare @str3 varchar(10) = '예약'
     declare @str4 varchar(10) = '합니다'
  
SELECT CONCAT(@int1, @str2, @str3, @str4) 
    값 = '10명 예약합니다' 

SELECT @str2 + @str3 + @str4 를 해서 사용할순 있지만 데이터형식이 다른 @int1
SELECT @int1 + @str2 + @str3 + @str4 가 포함이 된다면 오류가 발생한다. 

CONCAT을 사용하거나 INT 타입을 VARCHAR 타입으로 변경하여 사용하여야 한다.
예) SELECT CAST(@int1 AS VARCHAR) + @str2 + @str3 + @str4

'숨기기 > MSSQL' 카테고리의 다른 글

[MSSQL] CURSOR, FETCH  (0) 2023.03.22
[MSSQL] IIF FUNCTION  (0) 2023.02.28
[MSSQL] CAST 데이터 형식 변경  (0) 2023.01.25
[MSSQL] ISNULL 사용법(NULL 값 체크)  (0) 2023.01.19
[MSSQL] SSMS 단축키 모음 (1)  (0) 2023.01.18

1. 사용법

ISNULL( 컬럼이름 , 'NULL일 경우 변경하고 싶은 값')

예시)
-- USER_NAME = NULL
ISNULL(@USER_NAME , ' ')

이면 USER_NAME 이 NULL 이기 때문에 NULL 이 아닌  ' ' 로 테블에 저장 혹은 출력이 된다.


다른 예시로는 조건문에 사용할수 있는 

SELECT * 
  FROM TABLE_NAME 
WHERE 1 = 1 
      AND ISNULL(@USER_NAME , '') = ''

(NULL 인 값이 '' 으로 변경되고 '' 인 값들을 SELECT 하라) 

즉, NULL 인 모든 파라미터를 출력해준다

'숨기기 > MSSQL' 카테고리의 다른 글

[MSSQL] CURSOR, FETCH  (0) 2023.03.22
[MSSQL] IIF FUNCTION  (0) 2023.02.28
[MSSQL] CAST 데이터 형식 변경  (0) 2023.01.25
[MSSQL] CONCAT 문자열 합치기  (0) 2023.01.25
[MSSQL] SSMS 단축키 모음 (1)  (0) 2023.01.18

선택한 대상 대문자          CNTL + SHIFT + U

선택한 대상 소문자          CTRL + SHIFT + L

선택한 대상 주석처리      (CTRL + K) + (CTRL + C)

선택한 대상 주석제거      (CTRL + K) + (CTRL + U)

새쿼리 열기                      CTRL + N

문자 바꾸기                      CTRL + H

 

결과물 파일로 저장          CTRL + SHIFT + F

결과물 표로 보기              CTRL + D

결과물 텍스트로 보기      CTRL + T

 

책갈피 추가, 삭제              (CTRL + K) +   (CTRL + K)

다음 책갈피로 이동           (CTRL + K) +   (CTRL + P)

이전 책갈피로 이동           (CTRL + K) +   (CTRL + N)

책갈피 초기화                  (CTRL + K) +   (CTRL + L)

'숨기기 > MSSQL' 카테고리의 다른 글

[MSSQL] CURSOR, FETCH  (0) 2023.03.22
[MSSQL] IIF FUNCTION  (0) 2023.02.28
[MSSQL] CAST 데이터 형식 변경  (0) 2023.01.25
[MSSQL] CONCAT 문자열 합치기  (0) 2023.01.25
[MSSQL] ISNULL 사용법(NULL 값 체크)  (0) 2023.01.19

+ Recent posts