为什么用SQL无法修改字段的数据类型
我想修改某张表的数据类型,我的数据库中的数据类型均使用的是自定义数据类型。
具体说来就是想把TBPlanCmdDt表的StockQty 字段的数据类型由RealNumber改为Number,
于是写了如下代码:
ALTER TABLE TBPlanCmdDt Alter COLUMN StockQty Number null
提示错误:
服务器: 消息 5074,级别 16,状态 1,行 1
对象 'D_RealNumber' 依赖于 列 'StockQty'。
网上搜了下,说是要先删除约束于是这么写:
ALTER TABLE TBPlanCmdDt DROP constraint [D_RealNumber]
go
ALTER TABLE TBPlanCmdDt Alter COLUMN StockQty Number null
但是又提示:
约束 'D_RealNumber' 不属于表 'TBPlanCmdDt'
事实上,我只是想删除StockQty 字段的默认值[D_RealNumber] 并把这个字段的数据类型由 RealNumber 改为 Number
可是无论我怎么写都无法去除这个默认值,也看到有人写了一个复杂的存储过程,但我没有具体实验。
我想先请教下诸位,修改一个字段的数据类型没有简单点的办法么?一定要些很复杂的存储过程么?
具体说来就是想把TBPlanCmdDt表的StockQty 字段的数据类型由RealNumber改为Number,
于是写了如下代码:
ALTER TABLE TBPlanCmdDt Alter COLUMN StockQty Number null
提示错误:
服务器: 消息 5074,级别 16,状态 1,行 1
对象 'D_RealNumber' 依赖于 列 'StockQty'。
网上搜了下,说是要先删除约束于是这么写:
ALTER TABLE TBPlanCmdDt DROP constraint [D_RealNumber]
go
ALTER TABLE TBPlanCmdDt Alter COLUMN StockQty Number null
但是又提示:
约束 'D_RealNumber' 不属于表 'TBPlanCmdDt'
事实上,我只是想删除StockQty 字段的默认值[D_RealNumber] 并把这个字段的数据类型由 RealNumber 改为 Number
可是无论我怎么写都无法去除这个默认值,也看到有人写了一个复杂的存储过程,但我没有具体实验。
我想先请教下诸位,修改一个字段的数据类型没有简单点的办法么?一定要些很复杂的存储过程么?
...全文
相关推荐
access数据库用sql语句添加字段,修改字段,删除字段
**修改字段**: 要修改表中现有字段的属性,比如更改字段类型或设置主键,你可以使用 `ALTER TABLE` 语句。
数据库建表增加或删除字段
#### 2.2 SQL语法示例根据题目描述,我们需要向表`T1`中添加名为`g`的新字段,并设置其数据类型为`NUMBER(10)`。
解决SQL SERVER 2008数据库表中修改字段后不能保存
在SQL Server 2008中,用户可能会遇到在修改数据库表结构后无法保存更改的问题。
SqlServer给表增加多个字段的语法
在SQL Server中,数据库表的结构可以通过`ALTER TABLE`语句进行修改,包括添加新的字段(列)。在本文中,我们将深入探讨如何使用SQL Server给已有表增加多个字段的语法。
sql实现修改表字段名的方法详解
需要注意的是,`sp_rename`只适用于当前数据库中的对象,且无法修改系统数据类型和大部分系统对象的名称。


