关于oracle添加字段的问题
v_ssql:= 'alter table a add g number(10) ';
tableaddcolumn(v_ssql);
v_ssql:= 'insert into a(g)
values (10); ';
tableaddcolumn(v_ssql);
open cur_out for select * from a;
tableaddcolumn 就一个execute immediate语句的存储过程
为什么每次执行insert into a(g)
values (10); 都报 g 字段没找到
------解决方案--------------------SQL> create table a (id number);
Table created
SQL>
SQL> declare
2 v_ssql varchar2(100);
3 begin
4 v_ssql:= 'alter table a add g number(10) ';
5 execute immediate v_ssql;
6 v_ssql:= 'insert into a(g) values (10) ';
7 execute immediate v_ssql;
8 commit;
9 end;
10 /
PL/SQL procedure successfully completed
SQL> select * from a;
ID G
---------- -----------
10
没有问题啊