建表的操作可以试着用动态sql完成execute immediate 'CREATE TABLE table_name
(co1 datatype,
co2 ,
ORGN_NAME VARCHAR2(40),
SALESREP_ID NUMBER,
NAME VARCHAR2(240)
)';
(co1 datatype,
co2 ,
ORGN_NAME VARCHAR2(40),
SALESREP_ID NUMBER,
NAME VARCHAR2(240)
)';
解决方案 »
- undo表空间多久释放?
- 能否去除窗口函数中partition by子句的排序功能呢?
- oracle ORA-09817
- oracle 里取别名是不是 as 呀,我用了as后假如不对别名group by 就好的,否则就报 那个别名无效 为啥呀
- 那种Oracle工具编写编写sql和PL/SQL比较方便?
- help! 关于ORACLE 8i cilent的安装! 急!!!!
- 大家谁能告诉我,oracle9idba认证都考那四科呀。必须有一科要参加培训吗
- 某一字符型字段如PerMemo,能不能直接做PerMemo=PerMemo || 'a'这样的连接字符串操作?
- oracle 达到高水位delete语句后在同一对象上insert
- sql查询的问题
- oracle数据库给出的提示,怪!
- 各位高手请帮忙!
(co1 datatype,
co2 datatype )';至于不能使用commit,那是说在pl/sql中,数据库触发器不能带有commit(如果是要完成建表而commit,那么在这个触发器里面不用commit,当整个操作被提交时,create命令也被提交),如果这个触发器在应用层被触发,则可以在里面写commit.也不是很懂,大家指正哦PS:上面那个贴子弄错了,怎么删掉呀
declare
v_cursor_id number;
v_retval number;
begin
v_cursor_id := dbms_sql.open_cursor;
dbms_sql.parse(v_cursor_id,
'create table tablename(id integer,
name varchar2(8))',dbms_sql.native);
v_retval := dbms_sql.execute(v_cursor_id);
dbms_sql.close_cursor(v_cursor_id);
end;
建完表之后,自动就commit,不用另外再写。
个人觉得trigger里用commit没有必要 .
8i以下用dbms_sql包