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 to decrement dates by 1 in mysql? : Sql dba
How do I run a script in sql developer?
Which tcp/ip port does sql server run on? How can it be changed? : Sql dba
how does a local variable is defined using t-sql? : Transact sql
what is meant by nl2br()? : Sql dba
How consistent is the view of the data between and within multiple sessions, transactions or statements ?
What is sqlca in powerbuilder?
What is a procedure in pl sql?
What is the usage of the distinct keyword?
define sql delete statement ? : Sql dba
What is the use of function in sql?
What is dml statement?
Why stored procedure is faster than query?
How many joins in sql?
Define join and name different types of joins?