Migrating Statement Blocks from Oracle to SQL Server

PL/SQL and Transact-SQL support the use of the BEGIN...END terminology to specify statement blocks. Transact-SQL does not require the use of a statement block following the DECLARE statement. The BEGIN...END statement blocks are required for IF statements and WHILE loops if more than one statement is executed.

Oracle SQL Server
DECLARE
    DECLARE VARIABLES ...
BEGIN -- THIS IS REQUIRED SYNTAX
    PROGRAM_STATEMENTS ...
    IF ...THEN
        STATEMENT1;
        STATEMENT2;
        STATEMENTN;
END IF;
WHILE ... LOOP
        STATEMENT1;
        STATEMENT2;
        STATEMENTN;
    END LOOP;
END; -- THIS IS REQUIRED SYNTAX
DECLARE
    DECLARE VARIABLES ...
BEGIN -- THIS IS OPTIONAL SYNTAX
    PROGRAM_STATEMENTS ...
    IF ...
    BEGIN

        STATEMENT1
        STATEMENT2
        STATEMENTN
        END
WHILE ...
        BEGIN

        STATEMENT1
        STATEMENT2
        STATEMENTN
    END
END -- THIS IS OPTIONAL SYNTAX

See Also
BEGIN...END Using BEGIN...END

  

  


(c) 1988-98 Microsoft Corporation. All Rights Reserved.