我有下表列:
[Content] [varbinary](max) NULL
我想让它成为一个文件流列,所以我尝试了:
alter table dbo.Files
alter column Content add filestream
但我收到错误:
Incorrect syntax near 'filestream'.
我也试过
alter table dbo.Files
alter column Content varbinary(max) filestream not null
但我得到了错误:
Cannot alter column 'Content' in table 'Files' to add or remove the FILESTREAM column attribute.
如何将文件流添加到现有列?
最佳答案
您需要执行以下操作(来自 here ):
/* rename the varbinary(max) column
eg. FileData to xxFileData */
sp_RENAME '<TableName>.<ColumnName>', 'xx<ColumnName>' , 'COLUMN'
GO
/* create a new varbinary(max) FILESTREAM column */
ALTER TABLE <TableName>
ADD <ColumnName> varbinary(max) FILESTREAM NULL
GO
/* move the contents of varbinary(max) column to varbinary(max) FILESTREAM column */
UPDATE <TableName>
SET <ColumnName> = xx<ColumnName>
GO
/* drop the xx<ColumnName> column */
ALTER TABLE <TableName>
DROP COLUMN xx<ColumnName>
GO
关于sql-server - 将文件流添加到现有表列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36184307/