HI,
I am facing problem while calling code in execute sql task in SSIS.
I am using OLEDB provider for oracle where my source & destination both are oracle and i want to fetch session_ID, Job_ID from table and assign it to variable.
Please find the below code for the reference.
DECLAREV_SESSION_ID VARCHAR2(50);
V_Count NUMBER;
V_JobID NUMBER;
BEGIN
SELECT COUNT(SESSION_ID) INTO V_Count
FROM Job_Status
WHERE JOB_NAME='Extract_BU_Dim'
AND TO_CHAR(END_DATE,'DDMMYYYY')=TO_CHAR(SYSDATE,'DDMMYYYY');
IF(V_Count=0) THEN
BEGIN
V_SESSION_ID := TO_CHAR(SYSDATE,'DDMMYYYY');
END;
ELSIF(V_Count=1) THEN
BEGIN
SELECT SESSION_ID iNTO V_SESSION_ID
FROM(SELECT SESSION_ID
FROM Job_Status
WHERE JOB_NAME='Extract_BU_Dim'
AND TO_CHAR(END_DATE,'DDMMYYYY')=TO_CHAR(SYSDATE,'DDMMYYYY')
ORDER BY End_Date DESC)
WHERE ROWNUM<=1;
V_SESSION_ID :=V_SESSION_ID||'_1';
END;
ELSE
BEGIN
SELECT SESSION_ID INTO V_SESSION_ID
FROM(SELECT SESSION_ID
FROM Job_Status
WHERE Job_Name='Extract_BU_Dim'
AND TO_CHAR(END_DATE,'DDMMYYYY')=TO_CHAR(SYSDATE,'DDMMYYYY')
ORDER BY End_Date DESC)
WHERE ROWNUM<=1;
V_SESSION_ID :=V_SESSION_ID||'_1'||TO_NUMBER(SUBSTR(V_SESSION_ID,-1,1))+1;
END;
END IF;
-- INSERT INTO Job_Status
-- (
--JOBID,
-- Job_Name,
-- Start_Date,
-- End_Date,
-- Status,
-- Total_Count,
--Inserted_Count,
--Updated_Count,
-- SESSION_ID
-- )
-- VALUES
-- (
---JOBID_SEQ.NEXTVAL
-- 'Extract_BU_Dim',
-- SYSDATE,
-- NULL,
-- 'Started',
-- 0,
--0,
--0,
-- V_SESSION_ID
-- ) ;
-- SELECT JobID INTO V_JOBID FROM
-- (SELECT JOBID
-- FROM Job_Status
-- WHERE Job_Name='CFC_Extract_PartyDim'
-- AND End_Date IS NULL
-- AND TOTAL_COUNT=0
-- ORDER BY JOBID DESC
-- ) WHERE ROWNUM<=1;
--
-- COMMIT;
-- EXCEPTION WHEN NO_DATA_FOUND THEN
-- NULL;
END;