十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
用sys用户登录执行以下命令:
创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站建设、网站制作、麻阳网络推广、微信平台小程序开发、麻阳网络营销、麻阳企业策划、麻阳品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供麻阳建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
select object_id from all_objects where object_name='TEST';
select object_id from obj where object_name='TEST';取得表TEST的object_id;假设为51234
select obj#,col#,name from sys.col set col#=1 where obj#=51234 and name='COL4';
update sys.col$ set col#=col#+1 where obj#=51234 and name!='COL4';
COMMIT;
SHUTDOWN IMMEDIATE;
STARTUP;
参考
例如:
1、P_ID由NUMBER(10)改为NUMBER(12);
alter table t1 modify P_ID NUMBER(12);
2、增加列
ALTER TABLE user_info ADD username varchar2(50);
3、alter TABLE user_info rename name1 to name2;
4、 alter table [表名] drop column [列名];
create or replace trigger test_trigger
after insert or delete on a
for each row
declare tmpa varchar2(30);
v_dropSeqSql varchar2(300);
tmpb varchar2(30);
begin
if deleting then
tmpa:=:old.tx;
v_dropSeqSql:='alter table b drop column '||tmpa;
EXECUTE IMMEDIATE v_dropSeqSql;
end if;
if inserting then
tmpb:=:new.tx;
v_dropSeqSql:='alter table b add '||tmpb||‘ varchar2(30) ’;
EXECUTE IMMEDIATE v_dropSeqSql;
end if;
end;
需要
还有一种是存储过程使用的表有结构上的改变,需要重新编译一下。解决方法如下:重新编译一下,如果不成功,就是有语法问题,你需要修改存储过程
如果说你增加列了,然后设置为不可为空,这个是有问题的、所以建议修改表结构时、对于添加的列全部设为可为空、待你把数据填充好后,在做相应的是否为空设置
要么通过语句,不过建议使用pl/sql developer来进行操作,全图形界面的,edit表即可。