오라클 DB에서 MSSQL로 옮기는 작업을 하는 중인데
차이점을 기록해둘 필요가 있어, 하나씩 작성해보려 한다.
※ 변수선언 및 값 대입
ORACLE
abc VARCHAR2(10);
abc VARCHAR2(10) := 1;
abc := 5;
MSSQL
DECLARE @abc VARCHAR(10);
DECLARE @abc VARCHAR(10) = 1;
SET @abc = 5;
※ SELECT 변수 대입
ORACLE
V_A VARCHAR2(100);
V_B NUMBER(5);
NUM_A NUMBER(10);
SELECT COLUMN_A, COLUMN_B
INTO V_A, V_B
FROM TABLE_NAME
WHERE COLUMN_A = 1
AND COLUMN_B = NUM_A;
MSSQL
DECLARE @V_A VARCHAR(100);
DECLARE @V_B INT;
DECLARE @NUM_A BIGINT;
SELECT @V_A = COLUMN_A
, @V_B = COLUMN_B
FROM TABLE_NAME
WHERE COLUMN_A = 1
AND COLUMN_B = @NUM_A;
※ 예외 선언
ORACLE
BEGIN
-- SQL
EXCEPTION
WHEN NO_DATA_FOUND THEN
-- SQL
WHEN OTHERS THEN
-- SQL
MSSQL
BEGIN TRY
-- SQL
-- ORACLE: NO_DATA_FOUND
IF @@ROWCOUNT = 0 BEGIN
-- SQL
END
END TRY
BEGIN CATCH
-- SQL
-- WHEN OTHERS THEN
END CATCH
※ 카탈로그 통계 정보 갱신
ORACLE
DBMS_STATS.GATHER_TABLE_STATS('SCHEMA','TABLE_NAME');
MSSQL
UPDATE STATISTICS TABLE_NAME;
'Database > MSSQL' 카테고리의 다른 글
[MSSQL] 테이블 생성 및 커멘트 추가 (0) | 2023.07.10 |
---|---|
[MSSQL] 재귀 SQL 호출 (0) | 2023.02.22 |
[MSSQL] - PROCEDURE CURSOR 사용 (커서) (0) | 2020.07.28 |
[MSSQL] - PROCEDURE IF 사용 ( 조건문 ) (0) | 2019.01.15 |
[MSSQL] - UPDATE TABLE JOIN 조인 후 업데이트 하기 (0) | 2019.01.14 |