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
What is the difference between delete and truncate statement in sql?
What is a database event trigger?
Sql technical questions
What is a memo field?
How does a trigger work?
what is bcp? When is it used?
Explain the working of primary key?
What is normalisation in sql?
What does pl sql stand for?
What is substitution variable in pl sql?
How do I create a sql database?
Is big data nosql?
What is time based sql injection?
What is informix sql?
Can we debug stored procedure?