Sql Server中修改表结构的问题

MyLf 2003-07-10 08:09:07
如何用SQL语句把Sql Server中一个表的某个字段改为自动动编号?
我用 alter table tablename alter column fieldA int identity ,提示有语法错误(大概意思是关键字identity附近有语法错误,在繁体98,Sql Server2000环境下)
请问如何解决(有个方法是先删除这个字段,然后再新增这个字段,奇怪的是新增可以,只是alter column 改为了add,但我不想用这个方法)
...全文
131 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wingchi 2003-09-15
  • 打赏
  • 举报
回复
sp_rename
更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。

语法
sp_rename [ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]

参数
[@objname =] 'object_name'

是用户对象(表、视图、列、存储过程、触发器、默认值、数据库、对象或规则)或数据类型的当前名称。如果要重命名的对象是表中的一列,那么 object_name 必须为 table.column 形式。如果要重命名的是索引,那么 object_name 必须为 table.index 形式。object_name 为 nvarchar(776) 类型,无默认值。

[@newname =] 'new_name'

是指定对象的新名称。new_name 必须是名称的一部分,并且要遵循标识符的规则。newname 是 sysname 类型,无默认值。

[@objtype =] 'object_type'

是要重命名的对象的类型。object_type 为 varchar(13) 类型,其默认值为 NULL,可取下列值。

值 描述
COLUMN 要重命名的列。
DATABASE 用户定义的数据库。要重命名数据库时需用此选项。
INDEX 用户定义的索引。
OBJECT 在 sysobjects 中跟踪的类型的项目。例如,OBJECT 可用来重命名约束(CHECK、FOREIGN KEY、PRIMARY/UNIQUE KEY)、用户表、视图、存储过程、触发器和规则等对象。
USERDATATYPE 通过执行 sp_addtype 而添加的用户定义数据类型。


返回代码值
0(成功)或非零数字(失败)

注释
只能更改当前数据库中的对象名称或数据类型名称。大多数系统数据类型和系统对象的名称不能更改。

重命名视图时,sysobjects 表中有关该视图的信息将得到更新。重命名存储过程时,sysobjects 表中有关该过程的信息将得到更新。

每当重命名 PRIMARY KEY 或 UNIQUE 约束时,sp_rename 都会自动为相关联的索引重命名。如果重命名的索引与 PRIMARY KEY 约束相关联,那么 sp_rename 也会自动重命名主键。



重要 重命名存储过程和视图后,请清空过程高速缓存以确保所有相关的存储过程和视图都重新编译。


重命名存储过程、视图或触发器不会更改 syscomments 表中相应对象的名称。由于原来的名称将从 syscomments 表插入 CREATE 语句,因此这样可能会导致为该对象生成脚本时出现问题。要获得最佳结果,请不要重命名这些对象类型,而应该删除并用新名称重新创建对象。

权限
sysadmin 固定服务器角色成员、db_owner 和 db_ddladmin 固定数据库角色成员或对象所有者可以执行 sp_rename。只有 sysadmin 和 dbcreator 固定服务器角色成员才能将"database"作为 object_type 来执行 sp_rename。

示例
A. 重命名表
下例将表 customers 重命名为 custs。

EXEC sp_rename 'customers', 'custs'

B. 重命名列
下例将表 customers 中的列 contact title 重命名为 title。

EXEC sp_rename 'customers.[contact title]', 'title', 'COLUMN
chenlishu413 2003-09-15
  • 打赏
  • 举报
回复
如果你裡面有數據那就肯定不行嘍,你想想看.有沒有道理
dengyiwolf 2003-09-15
  • 打赏
  • 举报
回复
up
chao778899 2003-09-15
  • 打赏
  • 举报
回复
up
txlicenhe 2003-09-15
  • 打赏
  • 举报
回复

如何用语句添加或去除表字段的自增属性
http://expert.csdn.net/Expert/topic/2217/2217137.xml?temp=.8302118
viena 2003-09-15
  • 打赏
  • 举报
回复
不可以这样改的吧
wfwater 2003-09-15
  • 打赏
  • 举报
回复
在SQLSERVER中设计表时,设置种子标志,自增。
MyLf 2003-09-13
  • 打赏
  • 举报
回复
听说要强行结贴,我这个可能就是下一批强行结贴的对象了。
问题没有解决,怎么能结呢?
MyLf 2003-07-19
  • 打赏
  • 举报
回复
直接用SQL的增量生成ID? 什么意思?请解释一下。
wingchi 2003-07-19
  • 打赏
  • 举报
回复
up
yinbin 2003-07-13
  • 打赏
  • 举报
回复
呵呵,不要这样吧,我这里有一个方法,就是直接用SQL的增量生成ID,很方便,根本不用自己考虑,不用自己写代码,呵呵
MyLf 2003-07-12
  • 打赏
  • 举报
回复
以后打算不来VB版了,没劲,失望!
MyLf 2003-07-10
  • 打赏
  • 举报
回复
这个问题是难了 还是 简单了点? 好不容易问了一个问题怎么没人感兴趣?

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧