ORA-06550:第17行 17列
PLS-00103:出现符号end 在需要下列之一时:
declare
cursor cur_TableName is
Select * From user_tab_columns where TABLE_NAME like 'SQGL%' and column_name='OID';
begin
for i in cur_TableName loop
-- 打印 删除表数据
--dbms_output.put_line('truncate table '||i.TABLE_NAME||';');
declare
cursor cur_DataType is
Select * From user_tab_columns where table_name=i.TABLE_NAME;
begin
for j in cur_DataType loop
begin
if j.data_type='NVARCHAR2' then
-- alter table i.TABLE_NAME modify(j.column_name varchar2(j.data_length));
end if;
end;
end loop;
end;
end loop;
end;
我想问的是 可以实现批量修改表字段类型吗。
还是只能一个一个的去改。
http://www.2cto.com/database/201305/215124.html
修改表字段类型需要一条条alter,
批量执行一般都是
alter table 表名 modify 字段等信息;
alter table 表名 modify 字段等信息; --后面加分号就在客户端能够批量执行。
可以这样,通过sql生成一个批量的修改数据的sql,如
select 'alter table'||table_name||' add col_1 varchar2(100);' from user_tables
可以这样,通过sql生成一个批量的修改数据的sql,如
select 'alter table'||table_name||' add col_1 varchar2(100);' from user_tables
然后再把这个sql复制出来,执行就ok了