SQL File Considerations

Here are some considerations for SQL File format and deployment.

SQL File Format

Program blocks

Program blocks should be terminated by use of /. See examples below. For example, Package Specification, Package Body, Trigger etc. FlexDeploy will add / at the end of the file is last statement is program block.

BEGIN
   EXECUTE IMMEDIATE 'DROP TABLE XXHR.XXHR_WF1';
EXCEPTION
   WHEN OTHERS THEN
      NULL;
END;
/

BEGIN
   EXECUTE IMMEDIATE 'DROP SYNONYM XXHR_WF1';
EXCEPTION
   WHEN OTHERS THEN
      NULL;
END;
/

CREATE OR REPLACE PACKAGE xxhr_bipub_rep_pkg AS

   PROCEDURE generate_xml(p_errbuf  OUT VARCHAR2
                         ,p_retcode OUT NUMBER);

END xxhr_bipub_rep_pkg;
/

Non program blocks

Statements that are not program blocks should be terminated using ;. For example create or replace view, insert etc.

CREATE SYNONYM apps.XXHR_WF1 FOR xxhr.XXHR_WF1;

CREATE OR REPLACE FORCE VIEW "APPS"."DUMMY_V1" ("COUNT") AS
  (SELECT 1 from dual);

Comments

Comments in SQL file. See below for supported formats.

Good comment examples
--single line comment
/* 
 * Name : XXHR_WF1                                                        *
 */

Following comment is not supported as it will cause SP2-0103: Nothing in SQL buffer to run.

Bad Comments
/*Added comment by chandresh to test flexdeploy*/

Recompiling invalids

Consider adding compileInvalidSqls operation in Deploy workflow if SQL files are being deployed. This operation can take longer if there are many invalid objects in Schema.

Custom objects in non apps s