How to call DDL statements from pl/sql?

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


Please Help Members By Posting Answers For Below Questions

What is plpgsql language?

561


Can we delete column in sql?

611


does sql support programming? : Sql dba

637


What is view? Can we update view

899


Which is faster subquery or join?

697






what is sql server agent? : Sql dba

632


What is normalization in a database?

642


What is sql analyzer?

583


Is trigger a stored procedure?

541


Is subquery faster than join?

607


How to select unique records from a table?

596


How do you pronounce sql?

583


Explain what is a subquery ?

695


Is sql a backend?

579


How global cursor can be declare with dynamic trigger ?

1791