Mig*_*ura 8 t-sql sql-server sql-server-2014
我有下表列:
[Content] [varbinary](max) NULL
Run Code Online (Sandbox Code Playgroud)
我想把它变成一个文件流列,所以我试过:
alter table dbo.Files
alter column Content add filestream
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
Incorrect syntax near 'filestream'.
Run Code Online (Sandbox Code Playgroud)
我也试过
alter table dbo.Files
alter column Content varbinary(max) filestream not null
Run Code Online (Sandbox Code Playgroud)
但我得到了错误:
Cannot alter column 'Content' in table 'Files' to add or remove the FILESTREAM column attribute.
Run Code Online (Sandbox Code Playgroud)
如何将文件流添加到现有列?
Kam*_*ami 10
您需要执行以下操作(来自此处):
/* 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
Run Code Online (Sandbox Code Playgroud)