Variable declaration and assignment
Copy --Additional Params: -t JavaScript
CREATE OR REPLACE PROCEDURE PROC_VARIABLES
IS
localVar1 NUMBER ;
localVar2 VARCHAR ( 100 );
localVar3 VARCHAR2 : = 'local variable 3' ;
localVar4 VARCHAR2 DEFAULT 'local variable 4' ;
localVar5 VARCHAR2 NOT NULL : = 'local variable 5' ;
localVar6 VARCHAR2 NOT NULL DEFAULT 'local variable 6' ;
localVar7 NUMBER : = NULL ;
localVar8 NUMBER : = '' ;
BEGIN
localVar1 : = 123 ;
END ;
Copy CREATE OR REPLACE PROCEDURE PROC_VARIABLES ()
RETURNS STRING
LANGUAGE JAVASCRIPT
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"oracle"}}'
EXECUTE AS CALLER
AS
$$
// SnowConvert Helpers Code section is omitted.
let LOCALVAR1;
let LOCALVAR2;
let LOCALVAR3 = `local variable 3` ;
let LOCALVAR4 = `local variable 4` ;
let LOCALVAR5 = `local variable 5` ;
let LOCALVAR6 = `local variable 6` ;
let LOCALVAR7 = undefined;
let LOCALVAR8 = undefined;
LOCALVAR1 = 123 ;
$$;
Record variable declaration
Copy --Additional Params: -t JavaScript
CREATE OR REPLACE PROCEDURE PROC_RECORDS
IS
TYPE DEPTRECTYP IS RECORD (
DEPT_ID NUMBER ( 4 ) NOT NULL : = 10 ,
DEPT_NAME VARCHAR2 ( 30 ) NOT NULL : = 'ADMINISTRATION' ,
MGR_ID NUMBER ( 6 ) : = 200 ,
LOC_ID NUMBER ( 4 ) : = 1700
);
TYPE NAME_REC IS RECORD (
FIRST EMPLOYEES.FIRST_NAME% TYPE ,
LAST EMPLOYEES.LAST_NAME% TYPE
);
TYPE CONTACT IS RECORD (
NAME NAME_REC, -- NESTED RECORD
PHONE EMPLOYEES.PHONE_NUMBER% TYPE
);
BEGIN
null ;
END ;
Copy CREATE OR REPLACE PROCEDURE PROC_RECORDS ()
RETURNS STRING
LANGUAGE JAVASCRIPT
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"oracle"}}'
EXECUTE AS CALLER
AS
$$
// SnowConvert Helpers Code section is omitted.
class DEPTRECTYP {
DEPT_ID = 10
DEPT_NAME = `ADMINISTRATION`
MGR_ID = 200
LOC_ID = 1700
constructor() {
[...arguments].map((element, Index ) => this[(Object.keys(this))[Index]] = element)
}
}
class NAME_REC {
FIRST
LAST
constructor() {
[...arguments].map((element, Index ) => this[(Object.keys(this))[Index]] = element)
}
}
class CONTACT {
NAME = new NAME_REC()
PHONE
constructor() {
[...arguments].map((element, Index ) => this[(Object.keys(this))[Index]] = element)
}
}
null ;
$$;
Rowtype Record variable declaration
Copy --Additional Params: -t JavaScript
CREATE OR REPLACE PROCEDURE ROWTYPE_PROC AS
varname number : = 1 ;
CURSOR BOOK_CURSOR IS SELECT * FROM BOOK where 1 = varname;
BOOK_REC BOOK%ROWTYPE;
BOOK_CUR_REC BOOK_CURSOR%ROWTYPE;
BEGIN
BOOK_REC.ID : =