EXECUTE IMMEDIATE - dynamic SQL statement with "No Value Return", "No Bind Variable" and "No Error"

 
--====================================================
Advantages of Native Dynamic SQL
--====================================================
1. it provides flexibility to run or change SQL at run time to USER.
2. we can run DDL/DML/Dynamic Query during any PLSQL Block.
 
 
EXECUTE IMMEDIATE Statement :- It uses the 'EXECUTE IMMEDIATE' command to create and execute the SQL at run-time
----------------------------------------
 
Syntax:-
 
EXECUTE IMMEDIATE  [<SQL>]
[INTO<variable>]
[USING <bind_variable_value>]
 
 
 
--=============================================================================================
If the dynamic SQL statement with "No Value Return" "No Bind Variable" and "No Error" :
 then the EXECUTE IMMEDIATE statement needs no clauses
--=============================================================================================
EX:-
 
select * from xx_emp
 
DECLARE
V_SQL VARCHAR2(500);
BEGIN
 
V_SQL := 'Update xx_emp set comm = 100  where deptno = 40';
Execute Immediate V_SQL ;
dbms_output.put_line ('Total Number of updated Rows are : '|| SQL%ROWCOUNT);
END;
 
 
Update xx_emp set comm = 100  where deptno = 40
 
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
DECLARE
V_SQL VARCHAR2(500);
BEGIN
 
V_SQL := 'delete from xx_emp where deptno = 40';
Execute Immediate V_SQL ;
dbms_output.put_line ('Total Number of Deleted Rows are : '|| SQL%ROWCOUNT);
END;
 
delete from xx_emp where deptno = 40
 
 
 
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
BEGIN
create table xx_emp1 AS select * from xx_emp;
END;
 
select * from xx_emp1
 
 
DECLARE
V_SQL VARCHAR2(500);
BEGIN
V_SQL := 'create table xx_emp1 AS select * from xx_emp';
Execute Immediate V_SQL ;
END;
 
 
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
BEGIN
truncate table  xx_emp1;
END;
 
 
select * from xx_emp1
 
DECLARE
V_SQL VARCHAR2(500);
BEGIN
 
V_SQL := 'truncate table  xx_emp1';
Execute Immediate V_SQL ;
END;
 
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
BEGIN
DROP TABLE xx_emp1;
END;
 
select * from xx_emp1
 
DECLARE
V_SQL VARCHAR2(500);
BEGIN
 
V_SQL := 'DROP TABLE xx_emp1';
EXECUTE IMMEDIATE V_SQL ;
END;
 
 
 
 
 
 
 
x

Comments

Popular posts from this blog

E-Text Report In Fusion | Types of E-Text reports

Supplier API's

How to pass default Parameter in cursor