Developer/Oracle 에테리스 2018. 3. 23. 13:45
MSSQL에서 # 하나로 가능했던 임시 테이블을 오라클에서 변환하기 위해 "유형" 이라 불리는 방식을 사용해야 한다. OBJ 12345678910111213141516171819CREATE OR REPLACE TYPE OBJ_STKMOVE_REQ_HDR_SEL_TYPE AS OBJECT ( /* TODO enter attribute and method declarations here */ IDENT NUMBER, NO_GIREQ NVARCHAR2(20), DT_GIREQ NVARCHAR2(8), CD_QTIOTP VARCHAR2(3), NM_QTIOTP VARCHAR2(20), CD_PLANT NVARCHAR2(7), NM_PLANT NVARCHAR2(50), CD_DEPT NVARCHAR2(24), N..
Developer/Oracle 에테리스 2018. 3. 15. 16:56
1234567891011SELECT * INTO V_NO_POP FROM ( SELECT [LINENAME] FROM [TABLENAME] WHERE [WHERE절])WHERE ROWNUM
Developer/Oracle 에테리스 2018. 3. 15. 16:52
123456789101112EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE ('--------------------------------------'); DBMS_OUTPUT.PUT_LINE ('글로벌 EXCEPTION : ' || SQLERRM);DBMS_OUTPUT.PUT_LINE (DBMS_UTILITY.FORMAT_ERROR_BACKTRACE); DBMS_OUTPUT.PUT_LINE ('--------------------------------------'); V_ERROR_MESSAGE := SQLERRM; OPEN P_CURSOR FOR SELECT 1 AS RST_CD, V_ERROR_MESSAGE AS RST_NM FROM DUAL; ROLLBACK; ..
Developer/Oracle 에테리스 2018. 3. 14. 11:27
MSSQL 1IF NOT EXISTS(SELECT 1 FROM TABLE WHERE COLUMN1 = PARAMETER1 AND COLUMN2 = PARAMETER2 AND COLUMN3 = PARAMETER3) THENcs MSSQL은 IF문에 바로 EXIST 문이 붙을 수 있지만 오라클은 WHERE 절에 써야 한다. ORACLE 123SELECT COUNT(*) INTO V_CNT FROM DUAL WHERE NOT EXISTS(SELECT 1 FROM TABLE1 WHERE COLUMN1 = PARAMETER1 AND COLUMN2 = PARAMETER2 AND COLUMN3 = PARAMETER3);cs DUAL 테이블을 잘 활용하도록 하자 V_CNT의 값을 가지고 존재 여부를 판단하여 아래에서 ..
Developer/Oracle 에테리스 2018. 3. 12. 11:18
IS NULL IS NULL or NVL다만 이 경우 MSSQL은 공백과 null이 구분되는 반면, 오라클은 두개를 동일하게 null로 처리하기 때문에 NVL 함수 사용시 if문 등비교문에서의 사용시 주의하도록 한다. CHARINDEX (A, B) INSTR (B, A)두 녀석은 같은 기능이지만 파라미터 위치가 서로 다르다. 참고하자..