ALTER TABLE LL_USERLICENCEMAP ADD PRE_NOTICE_DATE DATE;
commit;用以上SQL只能在表最后加上PRE_NOTICE_DATE 字段。
请教一下能不能指定第几列,得后面加上 字段。
commit;用以上SQL只能在表最后加上PRE_NOTICE_DATE 字段。
请教一下能不能指定第几列,得后面加上 字段。
解决方案 »
- 基于oracle的大型协同OA 平台
- 请教个OCI 的错误。。。。。。。。。。。。。。
- 在oracle中,关联表后,如何只显示A表中所有数据?见内容
- 请教一个增量备份的方法
- 急急! oracle 使用游标循环 将多个id拼接成字符串 如下代码 调用function的时候 一直在执行,但没有显示结果 跪求答案
- ORACLE 一个字段能存多少字符串?
- 请问在奔四机上安装Oracle8.17的兼容性问题(在线等)
- 外联接的语法,在线等待,马上结贴!
- 我是研一生,请大家帮我做一题很难的数据库作业好吗?
- oracle触发器的问题
- 通过ADO addNew 插入一条记录时出错(表关键字为含有中文)
- 请教:Oracle9i,总是有一个服务(Oracle Manegement Service)不能启动
可以考虑用一个表暂时存储你的数据,然后
再创建 用这个方法创建:Create table your table as select fld1,fld2..... from tmptable;
可以先
create table USERLICENCEMAP_temp as select 字段1,字段2,' ' PRE_NOTICE_DATE,字段3... from USERLICENCEMAP;
这样加上字段。
然后在drop掉USERLICENCEMAP,在用
CREATE TABLE USERLICENCEMAP AS SELECT * FROM USERLICENCEMAP_temp;
就可以了
commit;比如我这个有很多列,EMP_NO是第一列,我就像在EMP_NO后加一列
用上面的语句怎么就不行呢。
提示ORA-01735: ALTER TABLE opreation 无效
只是觉得mySQL里可以用,在oracl也应该可以用。
MySQL为什么如此受欢迎? 灵活地选择如何存储和检索你的数据的是主要原因。作为一种网络数据库(暂且这样说), 为了向User在Web上提供多样式的展现形式, MySQL有必要提供这样的功能
而Oracle不同. 这只是两者的出发点不同罢了.
但是,不推荐这么做。赫赫。不知道会带来什么隐藏的问题。可以用中间表来做。
当然,有人说用试图,也可以。
MYSQL可以的,ORACLE不可以是不是就说MYSQL比ORACLE强??? 这两个系统的体系架构完全不同, 为什么我们要求他们的实现方法一模一样呢? ORACLE可以的,有多少是MYSQL不可以的. 你知道吗?
2. ORACLE认为没有任何必要开发一条SQL语句来专门完成你所提出的问题. 如果你确实需要做这样的事,则
3. 解决方案一:
如果你不考虑联机重定义的问题(估计MYSQL就做不倒联机重定义, 也希望你不要问我什么叫联机重定义),
A. rename old_table to temp_table;
B. create new_table
C. insert into new_table select col1, col2,null,col3,...coln from temp_table;
D. COMMIT;
其中假定你要加入的字段要放在COL3之前. 这套语句是效率最高的. 如有索引,则索引需重建.
4. 解决方案二:
使用9i开始的ONLINE REDEFINITION(联机重定义)功能,使用DBMS_REDEFINITION包来完成你的任务吧, 他可以保证任意改变你的表结构, 增减字段,修改类型,存储方式, 非分区变分区等等. 更重要的是,在执行改变的同时,客户端还可以继续对该表进行DML操作(即使你的改变根据数据量不同需要一点时间完成).
具体使用方法,见手册(Oracle® Database PL/SQL Packages and Types Reference).对于3楼的方案, 有一个小小的疑问, 您如何确保新加字段的数据类型为所需要的, 且完成创建后,默认为空值呢?
2. alter table t add col2 number; /*修改表结构*/
3. create or replace view v as select col1,col2,col3 from t; /*所需的额外操作*/以后你就直接对V进行操作好了, V就是你所要的那个表. 如果你觉得V名字不好听, 那就先RENAME T TO T_OLD; 然后CREATE VIEW T AS SELECT COL1, COL2,COL3 FROM T_OLD;好了。这样就更象了. 如果你需要加索引,加在T_OLD上就行, 对该视图的任何DML, SELECT操作跟对T_OLD是一摸一样的. 这样甚至都就不存在数据搬来搬去的问题了。