Hello all,
I am new to convert PLSQL to TSQL. Any expertise in SQL, please help me to do convert the belowed PLSQL procedure to SP in SQL server. I really appreciate your time. Thanks in advance.
=============== =============== =============== =
PROCEDURE SaveTestAs(P_Pr ogramID NUMBER,
P_ProgramName VARCHAR2)
IS
L_TestId INTEGER := 0;
CURSOR L_Program IS
SELECT *
FROM PROGRAMS
WHERE PROGRAM_ID = P_ProgramID;
CURSOR L_ProgramTest IS
SELECT *
FROM PROGRAM_TEST
WHERE PROGRAM_ID = P_ProgramID;
CURSOR L_ProgramNums(C _TestID IN NUMBER) IS
SELECT *
FROM PROGRAM_NUMERIC S
WHERE TEST_ID = C_TestId;
CURSOR L_ProgramStr(C_ TestID IN NUMBER) IS
SELECT *
FROM PROGRAM_STRINGS
WHERE TEST_ID = C_TestID;
BEGIN
FOR R_Programs IN L_Program LOOP
INSERT INTO PROGRAMS
VALUES(PROGRAMI D.NEXTVAL,
P_ProgramName,
R_Programs.Prog ram_Description ,
SYSDATE,
R_Programs.Crea ted_By,
'',
R_Programs.Stat ion_NO);
END LOOP;
FOR R_PT IN L_ProgramTest LOOP
INSERT INTO PROGRAM_TEST
VALUES(TESTID.N EXTVAL,
PROGRAMID.CURRV AL,
R_PT.TEST_NUMBE R,
R_PT.TESTDEF_ID ,
R_PT.FAIL_MESSA GE,
R_PT.FAIL_HELPF ILE,
R_PT.ACTIVE,
R_PT.CONTINUE_O N_FAIL);
FOR R_PN IN L_ProgramNums(R _PT.TEST_ID) LOOP
INSERT INTO PROGRAM_NUMERIC S
VALUES(NUMERIC_ ID.NEXTVAL,
TESTID.CURRVAL,
R_PN.NUM_PARAM_ NUM,
R_PN.NUMERIC_PA RAMETER,
R_PN.HELP_DESCR IPTION);
END LOOP;
FOR R_PS IN L_ProgramStr(R_ PT.TEST_ID) LOOP
INSERT INTO PROGRAM_STRINGS
VALUES(STRING_I D.NEXTVAL,
TESTID.CURRVAL,
R_PS.STRING_PAR AM_NUM,
R_PS.STRING_PAR AMETER,
R_PS.HELP_DESCR IPTION);
END LOOP;
END LOOP;
END SaveTestAs;
I am new to convert PLSQL to TSQL. Any expertise in SQL, please help me to do convert the belowed PLSQL procedure to SP in SQL server. I really appreciate your time. Thanks in advance.
=============== =============== =============== =
PROCEDURE SaveTestAs(P_Pr ogramID NUMBER,
P_ProgramName VARCHAR2)
IS
L_TestId INTEGER := 0;
CURSOR L_Program IS
SELECT *
FROM PROGRAMS
WHERE PROGRAM_ID = P_ProgramID;
CURSOR L_ProgramTest IS
SELECT *
FROM PROGRAM_TEST
WHERE PROGRAM_ID = P_ProgramID;
CURSOR L_ProgramNums(C _TestID IN NUMBER) IS
SELECT *
FROM PROGRAM_NUMERIC S
WHERE TEST_ID = C_TestId;
CURSOR L_ProgramStr(C_ TestID IN NUMBER) IS
SELECT *
FROM PROGRAM_STRINGS
WHERE TEST_ID = C_TestID;
BEGIN
FOR R_Programs IN L_Program LOOP
INSERT INTO PROGRAMS
VALUES(PROGRAMI D.NEXTVAL,
P_ProgramName,
R_Programs.Prog ram_Description ,
SYSDATE,
R_Programs.Crea ted_By,
'',
R_Programs.Stat ion_NO);
END LOOP;
FOR R_PT IN L_ProgramTest LOOP
INSERT INTO PROGRAM_TEST
VALUES(TESTID.N EXTVAL,
PROGRAMID.CURRV AL,
R_PT.TEST_NUMBE R,
R_PT.TESTDEF_ID ,
R_PT.FAIL_MESSA GE,
R_PT.FAIL_HELPF ILE,
R_PT.ACTIVE,
R_PT.CONTINUE_O N_FAIL);
FOR R_PN IN L_ProgramNums(R _PT.TEST_ID) LOOP
INSERT INTO PROGRAM_NUMERIC S
VALUES(NUMERIC_ ID.NEXTVAL,
TESTID.CURRVAL,
R_PN.NUM_PARAM_ NUM,
R_PN.NUMERIC_PA RAMETER,
R_PN.HELP_DESCR IPTION);
END LOOP;
FOR R_PS IN L_ProgramStr(R_ PT.TEST_ID) LOOP
INSERT INTO PROGRAM_STRINGS
VALUES(STRING_I D.NEXTVAL,
TESTID.CURRVAL,
R_PS.STRING_PAR AM_NUM,
R_PS.STRING_PAR AMETER,
R_PS.HELP_DESCR IPTION);
END LOOP;
END LOOP;
END SaveTestAs;
Comment