Wednesday, January 22, 2014

Oracle and SQL Server Syntax Differences

Entity Oracle SQL Server
Cursor CURSOR cursor_name DECLARE cursor_name CURSOR 
IS FOR
  SELECT_statement;   SELECT_statement
Procedure CREATE [OR REPLACE] PROCEDURE  CREATE PROCEDURE
proc_name (@parameter)
 proc_name (parameter) 
IS     AS
 Declaration section;  BEGIN
BEGIN      Execution Section
 Execution section;  END
 EXCEPTION  
  exception section;
END;
Function CREATE [OR REPLACE] FUNCTION  CREATE FUNCTION
function_name (@parameter)
 function_name (parameter) 
Return var_datatype; Returns var_datatype
IS     AS
 Declaration section; BEGIN
BEGIN      Execution Section
 Execution section;  Return @var
  Return var; END
 EXCEPTION  
  exception section;
  Return var; 
END;
Trigger CREATE [OR REPLACE ] TRIGGER  CREATE TRIGGER trig_name 
 trig_name  ON { table_name | view_name } 
 {BEFORE | AFTER | INSTEAD OF }  { FOR | AFTER | INSTEAD OF } 
 {INSERT [OR] | UPDATE [OR] | DELETE}  {[INSERT] [,] [UPDATE] [,] [DELETE]} 
 [OF col_name]  AS 
 ON table_name  BEGIN
 [REFERENCING OLD AS o NEW AS n]   Execution Section 
 [FOR EACH ROW]  END
 WHEN (condition)    
 BEGIN 
   Execution Section;  
 END;
Exception  DECLARE BEGIN TRY
Handling    Declaration section;   Execution Section
 BEGIN  END TRY
   Exception section;  BEGIN CATCH
 EXCEPTION   Exception Handling sql statements
 WHEN ex_name1 THEN  END CATCH
    sql statements 
 WHEN ex_name2 THEN 
    sql statements 
 WHEN Others THEN 
 sql statements 
END; 
If Else  IF condition 1  IF condition 1 
Block THEN  BEGIN 
 statement 1;   statement 1 
 statement 2;   statement 2
ELSIF condtion2 THEN  END  
 statement 3;  ELSE IF condtion2 
  ELSE   statement 3
   statement 4;  ELSE 
  END IF;  statement 4
  END IF