alter
table
my_workflow
add
(state
varchar2(2)
default
'0'
not
null,name
varchar2(100)
not
null,age
number
default
0
not
null)
上面的语句解释:
表名:my_workflow
添加了3个字段:
字段1:字段名称:state,
:varchar2(2)
,默认值'0',不为空(not
null)
字段2:字段名称:name
,数据类型:varchar2(100),不为空(not
null)
字段3:字段名称:age,数据类型number,默认值0,不为空(not
null)
最好的方法是批量修改,即每次修改5000条(一次修改不要超过一万条,否则影响性能).虽然在11g中,我们也可以选择使用merge命令,但你的这种情况最好先修改一部分然后看看影响,毕竟在生产环境作这样的 *** 作风险很大。
如果是误 *** 作,最好还是请DBA来恢复,虽然这样做会被挨骂,但总比错上加错,最后连挨骂的机会都没有要好得多。
如果对这些修改真的有信心,而只是从性能考虑,那可以用下面的方法(pk_col 是表的主键):
merge into xxx aa
using (select pk_col from xxx) bb
on (aa.pk_col=bb.pk_col)
when matched then
update set aa.datatype=66 where aa.datatype is null
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)