Oracle修改表类型方法】的更多相关文章

有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar2(20)); 2.假设字段有数据,则改为nvarchar2(20)可以直接执行:alter table tb modify (name nvarchar2(20)); 3.假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时…
一.使用imp/exp.先导出源库,再创建新库把表空间创建好,然后再导入.(据说这样可以,前提是新的库里面不能有与源库相同名字的表空间.有待验证!) 二.使用脚本进行修改.据目前所了解,正长情况下需要修改表的空间和表的索引的空间,如果涉及到BOLB字段的表,修改的方式又不一样了! 正常情况下的修改脚本: 1.修改表的空间 alter table TABLE_NAME move tablespace TABLESPACENAME  查询当前用户下的所有表 select 'alter table …
有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar2(20)); 2.假设字段有数据,则改为nvarchar2(20)可以直接执行:alter table tb modify (name nvarchar2(20)); 3.假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时…
有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar2(20)); 2.假设字段有数据,则改为nvarchar2(20)可以直接执行:alter table tb modify (name nvarchar2(20)); 3.假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时…
有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar2(20)); 2.假设字段有数据,则改为nvarchar2(20)可以直接执行:alter table tb modify (name nvarchar2(20)); 3.假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时…
需求:ID栏位在创建的时候是varchar类型,后续要修改为number类型 因为oracle修改表栏位类型的时候需要栏位内没有数据,因此无法直接把ID从varchar修改为number 1.新建一个栏位,存储ID的值 ALTER TABLE OWNER.TABLE_NAME ADD(ID_BAK NUMBER); 2.将ID的值更新进新栏位 UPDATE OWNER.TABLE_NAME SET ID_BAK=ID; COMMIT; 3.删除掉ID栏位 ALTER TABLE OWNER.TA…
Oracle修改表空间大小 使用Oracle10g建立数据库后,向数据库中导入了部分数据,第二天继续向数据库中导入数据表时发生错误: 查了很多资料发现原来是Oracle表空间限制,导致无法继续导入数据的原因.如果在建立数据库时没有设置, Oracle 默认的表空间大小为400M,当数据库中数据量达到这个值,再向数据库中导入数据就会报错.解决方法是 扩展表空间.可以选择将表容量扩大,比如扩展到5G,或者当表空间不够时每次自动增加一定的容量,如每次自增200M. 下面列出详细过程: 1.通过sql…
Oracle修改字段名 alter table 表名 rename column 旧字段名 to 新字段名 Oracle修改字段类型和长度 alter table 表名 modify 字段名 数据类型 如果是修改数据类型比如由varchar2修改为int且字段内有值,会报如下错误 解决方法参考:http://blog.csdn.net/itmyhome1990/article/details/8681206 出处:http://blog.csdn.net/itmyhome1990/article…
sqlserver和oracle修改表结构常用SQL Server:1.增加列  ALTER TABLE users ADD address varchar(30);2.删除列  ALTER TABLE users DROP COLUMN address;3.修改字段类型  ALTER TABLE users ALTER COLUMN address varchar(80);4.重命名列:  EXEC sp_rename 'WN_CALL_INFO.[CUST_CODE]', 'CUST_ID'…
参考阅读:http://www.manongjc.com/article/1205.html 最近遇到一个修改 MySQL 表类型的问题,以前在 phpmyadmin 管理 mysql 数据库时,建立的表默认是 MyISAM 类型,而且修改表类型也比较方便.奈何现在配置 phpmyadmin 出了问题,也懒得去弄了,就装了另一个 mysql 的管理工具,比较方便.可是我新建的表默认确是 InnoDB 类型的,而且以前我迁移时,这个类型容易出问题,虽然说不出哪个类型好,但感觉更喜欢 MyISAM…
oracle 修改表的sql语句     1增加一个列:ALTER TABLE 表名 ADD(列名 数据类型);如:ALTER TABLE emp ADD(license varchar2(256)); 2修改一个列的数据类型(一般限于修改长度,修改为一个不同类型时有诸多限制)ALTER TABLE 表名 MODIFY(列名 数据类型);如:ALTER TABLE emp MODIFY(weight NUMBER(3,0) NOT NULL); 3给列改名:ALTER TABLE 表名 RENA…
oracle基本操作,Oracle修改列名,Oracle修改字段类型 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ©Copyright 蕃薯耀 2017年3月16日 http://www.cnblogs.com/fanshuyao/ --修改列名 alter table "KFAPP&…
修改表引擎方法 方法1:修改mysql.ini配置文件,重启mysql服务生效 修改my.ini,在[mysqld]下加上default-storage-engine=INNODB 其中红色字体部分是要指定的引擎名称. 用sql语句修改已经建成表的引擎: alter table tableName type=InnoDB 下面贴出我的my.ini文件供参考: [mysqld] basedir=C:\Program Files\VertrigoServ\Mysql\ datadir=C:\Prog…
对于已经创建好的表,尤其是已经有大量数据的表,如果需要对表做一些结构上的改变,我们可以先将表删除(drop),然后再按照新的表定义重建表.这样做没有问题,但是必然要做一些额外的工作,比如数据的重新加载.而且,如果有服务在访问表,也会对服务产生影响.因此,在大多数情况下,表结构的更改一般都使用alter table 语句,以下是一些常用的命令. (1) 修改表类型,语法如下: ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRS…
oracle修改字段类型由varchar2修改为clob类型 http://blog.sina.com.cn/s/blog_9d12d07f0102vxis.html…
 比如说修改 user01.dbf  文件 的路径 1.先登录sqlplus:    C:\Documents and Settings\chezh>sqlplus  system/password as sysdba 2.修改表空间为Offline:      SQL> alter tablespace users offline;  3.拷贝表空间文件      拷贝  C:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF 到 D:\oracl…
--修改列名alter table 表名 rename column 旧列名 to 新列名;--修改列类型alter table 表名 modify (列名varchar(255));…
1.主键和外键主键:关系型数据库中的一条记录中有若干个属性,若其中的某一个属性组(注意是组,可以是一个,也可以是多个)能唯一标识一条记录,那么该属性组就是主键外键:关系型数据库表中的一列或者某几列的组合,它的值与另外一张表的某一列或者某几列相匹配,且为另一张表的主键(即这张表的某一列或某几列是另外一张表的主键,称这一列或几列为另外一张表的外键) 注1:一张表主键只能有一个,可以有多个外键以及唯一索引 注2:Oracle数据库共有5个约束:主键.外键.非空.唯一.条件非空:这个列的值不能为空(NO…
SQL Server:1.增加列  ALTER TABLE users ADD address varchar(30);2.删除列  ALTER TABLE users DROP COLUMN address;3.修改字段类型  ALTER TABLE users ALTER COLUMN address varchar(80);4.重命名列:  EXEC sp_rename 'WN_CALL_INFO.[CUST_CODE]', 'CUST_ID', 'COLUMN';5.重命名表:  EXE…
下面列出详细过程: 1.通过sql plus 命令登录数据库. 在命令行下输入sqlplus “登录用户名/口令 as 登录类型”就可以登录,系统内建的用户名常用的是sys,密码是在安装oracle过程中设置的密码,清务必牢记,如果用sys帐户登录,登录类型一定要是sysdba. 2.查看各表空间分配情况. select tablespace_name, sum(bytes) / 1024 / 1024  from dba_data_files group by tablespace_name;…
在oracle修改user表字段name类型时遇到报错:“ORA-01439:要更改数据类型,则要修改的列必须为空”,是因为要修改字段的新类型和原来的类型不兼容. 如果要修改的字段数据为空时,则不会报这种类型的错误,可以进行字段类型的修改. alter table user modify (name varchar2(20)); 要修改字段的新类型和原来的类型不兼容时,可以通过如下方式解决该问题: 1.修改原字段名name为临时字段name_new: alter table user renam…
[root@yoon ~]# more /etc/oracle-releaseOracle Linux Server release 5.7 Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionPL/SQL Release 11.2.0.3.0 - ProductionCORE 11.2.0.3.0 ProductionTNS for Linux: Version 11.2.0.3.0 - Pro…
本文转自:http://www.cnblogs.com/studyzy/archive/2010/10/13/1850161.html 在一般的数据存取操作过程中,如果要对一个主表和对应的子表进行插入操作,那么我们最常见的写法就是写两个存储过程或者SQL语句,一个负责主表数据插入,一个负责子表数据插入,然后在一个事务中实现主表和子表数据的插入. 现在遇到一个问题是,能否在一个存储过程中实现主表和子表数据的插入呢?那么就需要将一对多的数据作为存储过程的参数传入.这种情况下就需要使用表类型.下面以一…
如题:    --增加列操作: alert table 表名 add 列名 列的类型 eg:alter table EMP1 add pwd varchar2(10); --删除列操作: alert table 表名 drop column 列名; eg:alter table EMP1 drop column age; --修改字段类型: alert table 表名 modify 列名 列的类型 eg:alter table EMP1 modify createTime date; --重命…
添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….); 删除字段的语法:alter table tablename drop (column); 创建表结构:create table test1(id…
因为原来所在表不想被删除,但又需要新建立一个相同表名的表,故先把原来的表的表名更改为另一个临时表名. 查看当前用户下所有的表  select tname from tab where tabtype='TABLE'; 方法一:  alter table 旧表名 rename to 新表名; 方法二:  rename 旧表名 to 新表名;  ###只能修改自己Schema下的表…
今天往一个表里面多增加了两个字段,修改完毕,保存的时候,提示如下内容:“资源正忙,要求指定nowait”.重试好几遍,都没有解决,于是搜索了一下,找到了解决方法,如下: 首先执行下面一段代码,得到锁定的进程: select    t1.sid, t1.serial#, t1.username, t1.logon_time from v$session t1 , v$locked_object t2where t1.sid = t2.session_id order by t1.logon_tim…
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp52 Oracle数据库操作中,我们有时会用到锁表查询以及解锁和kill进程等操作,那么这些操作是怎么实现的呢?本文我们主要就介绍一下这部分内容. 锁表查询的代码有以下的形式: select count(*) from v$locked_object; select * from v$locked_object; 查看哪个表被锁 1.select b.owner,b.obj…
--增加列ALTER TABLE Student add sex number(2);--删除列ALTER TABLE Student drop column sex;--更改列属性 ALTER TABLE Student modify city number(2);--更改默认值ALTER TABLE Student modify sex default 1;--增加表主键ALTER TABLE Student add constraint stu_pk primary key(student…
转自:https://www.cnblogs.com/fx-blog/p/7132833.html 语句:comment on table 表名 is '表的注释信息'; comment on column 表名.字段名 is '字段的注释信息'; 注意表名的大小写 例如:1.创建表: CREATE TABLE Student( id varchar2(32) primary key, name varchar2(8) not null, age number );2.添加表注释: Commen…