2011-01-07 103 views
-1

在发布此问题之前,我尝试了很多事情,但这对我没有帮助。 我要重命名表在SQL Server 2005中柱,下面的查询我在SQL Server2005中运行:SQL服务器2005查询未运行

1) ALTER TABLE Details RENAME COLUMN AccountID TO UID; but it gives me the error: Incorrect syntax near the keyword 'COLUMN'.

2)I have added one new column in the table by query: ALTER TABLE Details ADD BID uniqueidentifier; and then I want to set the coulmn property to not null .

我怎样才能做到这一点?

在此先感谢 AS

回答

4

使用sp_Rename 'TableName.Column', 'NewColumnName', 'COLUMN'

为了做你的问题的第二部分,你需要做的:

ALTER TABLE myTable 
     ADD myColumn UNIQUEIDENTIFIER NOT NULL DEFAULT 'some default value' 

如果你不想指定一个默认值,你必须首先创建列与NULL。一旦创建了该列,就可以填充所需的值,然后将该列重新更改为NOT NULL

2

1)为了不使用ALTER TABLE,为什么不使用sp_rename?例如:

EXEC sp_rename 'Details.[AccountID]', 'title', 'UID' 

2)可以使用ALTER TABLE Details ALTER COLUMN BID NOT NULL,但你可能会想它也指定一个默认值,如果表中已经有数据。