- 论坛徽章:
- 0
|
我想写一个动态创建表的过程如下,执行通过,但是表怎么也建不起来,朋友们帮帮忙,看一下哪儿不对:
CREATE OR REPLACE PROCEDURE RecreateTempTable (
p_Description IN VARCHAR2) IS
v_Cursor NUMBER;
v_CreateString VARCHAR2(100);
v_DropString VARCHAR2(100);
v_NumRows INTEGER;
BEGIN
v_Cursor := DBMS_SQL.OPEN_CURSOR;
v_DropString := 'DROP TABLE temp_table';
v_CreateString := 'create table t_abc as select * from j_dispatcher';
begin
DBMS_SQL.PARSE(v_Cursor, v_CreateString, dbms_sql.native);
v_NumRows := DBMS_SQL.EXECUTE(v_Cursor);
DBMS_SQL.CLOSE_CURSOR(v_Cursor);
EXCEPTION
WHEN OTHERS THEN
DBMS_SQL.CLOSE_CURSOR(v_Cursor);
-- RAISE;
end;
END RecreateTempTable;
我试了一下,改成drop table 或update 以后就可以,为什么呢? |
|