SQLServer数据库实用技术(46)
时间:2007-12-23 来源:不详 作者:迈克DB
指定新的数据类型名称,其使用标准如下:
列的原数据类型应可以转换为新的数据类型;
新的数据类型不能为TIMESTAMP;
新的数据类型答应列为NULL 值;
假如原来的列是IDENTITY 列,则新的数据类型应支持IDENTITY 特性;
当前的SET ARITHABORT 设置将被视为处于ON 状态。
指定新数据类型的位数。
指定新数据类型的小数位数。
指明列是否答应NULL 值。假如添加列到表中时,指定它为NOT NULL, 则必须指定此列的缺省值。选择此项后,new_data_type [(precision [, scale ])]选项就必须指定,即使precision 和scale 选项均不变,当前的数据类型也需要指出来。
指定已经存在于表中的数据是否需要使用新添加的或刚启用的FOREIGN KEY 约束或CHECK 约束来验证。假如不指定,WITH CHECK 作为新添加约束的缺省选项,WITH NOCHECK 作为启用旧约束的缺省选项。
添加或删除列的ROWGUIDCOL 属性。ROWGUIDCOL 属性只能指定给一个 UNIQUEIDENTIFIER 列。
内容来自dedecms
添加一个或多个列、计算列或表约束的定义。
计算列的计算表达式。
指定要删除的约束或列的名称。处于下列情况的列不能删除;
用于复制的列;
用于索引的列;
用于CHECK FOREIGN KEY UNIQUE 或PRIMARY KEY 约束的列;
定义了缺省约束或绑定了一个缺省值对象的列;
绑定了规则(Rule)的列。
启用或禁用FOREIGN KEY 或CHECK 约束。
使用NOCHECK 选项禁用所有的约束,或使用CHECK 选项启用所有的约束。
启用或禁用触发器。
启用或禁用选项针对所有的触发器。
指定触发器名称。
例7-13: 创建一个定货商信息表,然后修改简介列的数据类型。
create table order_firm (
order_firm_id char (8) primary key,
firm_name varchar (50) not null
firm_introduce char(50) null
) on [primary]
alter table order_firm
alter column firm_introduce varchar(250) null 织梦好,好织梦
例7-14: 创建一个定货表再插入一个定货商编号列。
create table orders(
order_id char(8) ,
p_id char(8) foreign key references products(p_id),
order_quantity smallint check (order_quantity>=10),
constraint pk_order_id primary key (order_id),
) on [primary]
alter table orders
add order_firm_id char(8) null
constraint fk_order_firm_id foreign key references order_firm(order_firm_id)
例7-15: 更改上例中的检查约束,并删除一个外要害字约束。
alter table orders
add constraint chk_order_quantity check (order_quantity>=100)
drop constraint chk_order_quantity
7.4.3 用存储过程Sp_rename 修改表名和列名
Sp_rename 存储过程可以修改当前数据库中用户对象的名称,如表、列、索引、存储过程等。其语法如下:
sp_rename [@objname =] 'object_name',
[@newname =] 'new_name'
[, [@objtype =] 'object_type']
其中[@objtype =] 'object_type'是要改名的对象的类型,其值可以为‘COLUMN’、‘DATABASE’、‘INDEX’、‘USERDATATYPE’、‘OBJECT’。值‘OBJECT’指代了系统表sysobjects 中的所有对象,如表、视图、存储过程、触发器、规则、约束等。‘OBJECT’值为默认值。
文章评论
共有位Admini5网友发表了评论 查看完整内容