Answer Posted / pavan_1981
One can call DDL statements like CREATE, DROP, TRUNCATE,
etc. from PL/SQL by using the "EXECUTE IMMEDATE" statement.
Users running Oracle versions below 8i can look at the
DBMS_SQL package .
begin
EXECUTE IMMEDIATE 'CREATE TABLE X(A DATE)';
end;
NOTE: The DDL statement in quotes should not be terminated
with a semicolon.
Another way is One can also use the older DBMS_SQL package
(V2.1 and above) to execute dynamic statements. Look at
these examples:
CREATE OR REPLACE PROCEDURE DYNSQL AS
cur integer;
rc integer;
BEGIN
cur := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(cur, 'CREATE TABLE X (Y DATE)',
DBMS_SQL.NATIVE);
rc := DBMS_SQL.EXECUTE(cur);
DBMS_SQL.CLOSE_CURSOR(cur);
END;
/
| Is This Answer Correct ? | 28 Yes | 4 No |
Post New Answer View All Answers
How does a self join work?
Is primary key is clustered index?
What is the use of triggers?
how to analyze tables with 'mysqlcheck'? : Sql dba
Can triggers stop a dml statement from executing on a table?
What is view explain with example?
describe mysql connection using mysql binary. : Sql dba
What is a null value?
What is scalar function?
what is row? : Sql dba
What found sql?
Enlist some predefined exceptions?
Difference between global and parameter variables?
What do you mean by field in sql?
How does cross join work in sql?