如何使用TSQL更新SQL SERVER中的BLOB
发布时间:2020-12-12 06:27:39 所属栏目:MsSql教程 来源:网络整理
导读:如何仅使用TSQL更新BLOB字段(例如,从SSMS更新而不使用任何代码,如ADO.Net或 Linq)? 解决方法 使用TSQL选择BLOB有两种方法: SELECT * FROM OPENROWSET (BULK 'C:TestTest1.pdf',SINGLE_BLOB) a 以及: SELECT BulkColumn FROM OPENROWSET (BULK 'C:TestT
如何仅使用TSQL更新BLOB字段(例如,从SSMS更新而不使用任何代码,如ADO.Net或
Linq)?
解决方法使用TSQL选择BLOB有两种方法:SELECT * FROM OPENROWSET (BULK 'C:TestTest1.pdf',SINGLE_BLOB) a 以及: SELECT BulkColumn FROM OPENROWSET (BULK 'C:TestTest1.pdf',SINGLE_BLOB) a 请注意FROM子句后的相关名,这是必需的. 第二个版本可用于UPDATE,如以下示例所示: UPDATE MyTable SET blobField = (SELECT BulkColumn FROM OPENROWSET (BULK 'C:TestTest1.pdf',SINGLE_BLOB) a) WHERE (CriteriaField = @criteria) 对于部分更新,可以使用如.000000中所述的SET .WRITE mutator,这里是语法: UPDATE MyTable SET BlobField .WRITE (expression,@offset,@length) WHERE (CriteriaField = @criteria) 请注意,WRITE mutator只能用于NON-NULL字段. 实际上,通过将@offset设置为0并将@length设置为NULL(或实际长度),这也可用于执行完全更新(如果列不包含NULL),如下例所示: DECLARE @tmp VARBINARY(MAX) --Change to the correct datatype here SELECT @tmp = BulkColumn FROM OPENROWSET (BULK 'C:TestTest1.pdf',SINGLE_BLOB) a UPDATE MyTable SET BlobField .WRITE (@tmp,NULL) WHERE (CriteriaField = @criteria) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SqlServer Update更新语句因where条件不正确 造成更新全表的
- sql-server – 当timestamp(rowversion)溢出时会发生什么?
- sql – 我应该将这个新列添加到客户表还是单独的新表?
- SQLSERVER 中文字长度,字段长度
- ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小
- sqlserver2000无法远程连接的原因之一
- SQLServer数据库语句大全汇总
- 我的PostGIS数据库看起来不错,但GeoDjango认为否则为什么?
- sqlserver作为目标端在不安装hvr的情形下同步Location设置
- sql – 如果列存在,则选择columnValue为空