안녕하세요
제가 oracle에서 cubrid로 마이그레이션 툴을 사용해서 마이그레이션을 하려고합니다.
궁금사항
1. 함수와 프로시져 스크립트는 자동으로 마이그레이션이 안되나요?
2. oracle에서 저장프로시져
예)
CREATE OR REPLACE FUNCTION test."SF_TEST_TESTCNT"
(v_catId IN VARCHAR2,
v_targetId IN VARCHAR2,
v_auth_kind IN VARCHAR2)
RETURN NUMBER IS
cnt number(10) := 0;
BEGIN
SELECT COUNT(1) INTO cnt
FROM t_test;
RETURN(cnt);
END SF_TEST_TESTCNT;
이런식으로 생성해서 썻었는데 큐브리드에서는 어떤식으로 함수를 등록해서 써야할지 궁금합니다.
CUBRID vs Oracle Stored Procedure(Function) 비교표
Oracle
CUBRID
언어적인 측면
PL/SQL
Java
자동 변환
지원 하지 않음.
특이사항 및 고려 사항
Native Parser로 인한 성능이 뛰어남
트랜잭션 처리 가능
Java 를 기반으로 사용하기 때문에 성능상의 고려 사항이 존재함.
Java SP를 사용하기 때문에 SP상에 commit문이 들어 갈 경우 고려 사항이 존재함.
CUBRID 에서는 JAVA 기반의 stored procedure 를 제공하고 있습니다. 따라서 JAVA 를 이용하여 작성하시어 사용할 수 있습니다.
사용 방법은 다음 링크를 참조하시면 될 것 같습니다. http://www.cubrid.com/zbxe/48099
아울러 PL/SQL 을 JAVA로의 변환은 언어에 대한 변환으로 상당히 어려운 문제이고, 현재는 지원되지 않고 있습니다. 그렇지만 JAVA 는 현재 가장 널리 쓰이는 언어중의 하나이므로 쉽게 작성이 가능하시리라 생각됩니다.
추가적으로, 잘아시겠지만 function or procedure 의 사용시에는 성능에 대한 부분을 충분히 고려하여 사용하실 필요가 있으며, 그런 연유로 인하여 function의 사용을 권장하지는 않고 있습니다.