修改表a的表结构:想把把字段city的数据类型由varchar(2000)改为long
具体过程:
1.新建了一个字段city_new varchar(2000)
2.将原来city数据导入city_new。
3.将city数据清空。
4.把字段city的数据类型改为long。
5.将数据导回city中。
(这么麻烦因为oracle不允许在city列中数据时候更改类型)
请问各位大侠,如果做了这些修改后能不能用“回滚”机制,将修改后的表恢复到修改前?具体怎么写sql脚本呢?还只只能通过备份表才行?(目的是为了防止修改带来错误,想要恢复到修改前状态)
先谢谢各位大虾了!
具体过程:
1.新建了一个字段city_new varchar(2000)
2.将原来city数据导入city_new。
3.将city数据清空。
4.把字段city的数据类型改为long。
5.将数据导回city中。
(这么麻烦因为oracle不允许在city列中数据时候更改类型)
请问各位大侠,如果做了这些修改后能不能用“回滚”机制,将修改后的表恢复到修改前?具体怎么写sql脚本呢?还只只能通过备份表才行?(目的是为了防止修改带来错误,想要恢复到修改前状态)
先谢谢各位大虾了!
解决方案 »
- rbo方式下,性能影响大吗
- 弱弱得问下,这句SQL应该怎么写?
- 在 Oracle 中使用 Sequences 的优缺点,欢迎大家讨论
- 有关 SQL 提问 如何 实现 查询结果 分页显示 的SQL 语句
- 大家好,请问oracle及sqlserver数据库如何使用sql语句查询到特定用户下的某个表名。谢谢
- 計算數量﹐请高人指点 ﹗
- 大家看看这样能不能实现
- 判断时间的一个难题?
- 请问如何学oracle?(本能想多给点分:错误:你不能放这么多分!)
- 如何把Oracle 11g导出的数据库导入到12c里面?!duang~~~
- 如何去掉列的默认值?
- 怎样解决 ora-12542 address in used 错误?
用CLOB不是更好些
用long是应为我要用from Builder做前台的显示这个表字段的工作。
“为什么不用clob?”这个问题正好是我想问的~呵呵
里边用到数据块sqlblock,它的数据-数据类型属性改动后选择为Long。这个是与表中的city_new long字段对应的。用来显示city_new里存的内容。内容是sql语句。
(所用的操作应该不会受long的限制)
1.如果改为clob,在form builder中好像没有对应的选择。(有个“对象ref”)不知道可不可以?怎们用?
2.改为clob的话,会不会因为更站存储空间或其他问题而影响效率呢?再次谢谢love_2008(love2008)的回答~希望大家能给我帮助!多谢!
你可以测试一个表,把数据类型改为CLOB类型的,然后选择LONG或者其他,实验下看能否显示
REF是引用类型,你应该用不上。
可以创建测试表:
CREATE TABLE T AS SELECT ID,TO_CLOB(NAME) NAME FROM T1; 这样就会生成一个CLOB类型的NAME,而其他字段跟原表的类型相同,数据也都相应的插入到了T表。2:至于效率的问题,CLOB是为了取代LONG而产生的,因为LONG的限制实在太多。所以效率应该没有什么问题。
我用你的方法出错TO_CLOB(NAME)中NAME我写的是已经改为long型的city字段。
1.sql报错:无效的列名!是不是这个函数错了?可能是因为我用的FORM BUILDER版本过低~是在不成就用long。我这个字段存sql语句,只供查询使用。应该不怕限制~
2.不知道clob如何分配空间的?我这数据量很大的,不知太会不会占空间?
3.我给分之后能不能在继续讨论呢?呵呵~(分不够可以加分的)
多谢love_2008(love2008)~欢迎大家讨论~
TO_CLOB ( lob_column | char )char can be any of the datatypes CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOBlong是不可以通过这个函数转换成CLOB的。CLOB字段一般用在和其他字段不放在一个表空间下,而且分给他的块大小一般是比普通表空间的大些工作中没有用过CLOB 所以我对他的研究也很少
我刚进csdn不久,感觉真的能学到好多东西~
已经加你为好友了~希望你能通过我。有机会我们可以讨论的,呵呵
分我给了,好像给分必须结束这个帖子了~唉,还没讨论够呢~呵呵,希望以后还有机会~