SQL Server对图像数据的存储机制介绍
2007-05-15 09:26:42 来源:WEB开发网核心提示: table.column为表中的字段,text_ptr为一个16个字节的指针,SQL Server对图像数据的存储机制介绍(2),data为要写的数据值,可选参数WITH LOG表示是否要写入日志文件中,虽然可以通过生成存贮过程来调用执行,但有一个缺陷是在读取数据时,例:DECLARE @
table.column为表中的字段,text_ptr为一个16个字节的指针,data为要写的数据值。可选参数WITH LOG表示是否要写入日志文件中。
例:
DECLARE @ptrval binary(16) --指针
SELECT @ptrval = TEXTPTR(img_ct) FROM zy_ct WHERE id_ct = 20010101001
WRITETEXT zy_ct.img_ct @ptrval 0x024324142342134214213421421454353452341
(2)READTEXT {table.column text_ptr offset size} [HOLDLOCK]
table.column为表中的字段,text_ptr为一个16个字节的指针,offset 为偏移量,即从第几个字节开始读数据,size为要读的字节数,HOLDLOCK 为在读数据中是否充许其他用户修改该数据。
例:
DECLARE @ptrval varbinary(16)
SELECT @ptrval = TEXTPTR(img_ct) FROM zy_ct WHERE id_ct = 20010101001
READTEXT zy_ct.img_ct @ptrval 1 25
(3) UPDATETEXT
{table_name.dest_column_name dest_text_ptr}
{NULL|insert_offset}{ NULL | delete_length}
[WITH LOG][ inserted_data|
{table_name.src_column_name src_text_ptr}
table_name.dest_column_name 为要修改的text, ntext, 或 image字段;dest_text_ptr为指向其的指针;insert_offset为偏移量,对于text和image为从第几开始字节开始写,对于ntext为从第几个字符(双字节)开始写;delete_length为从insert_offset开始删除delete_length长度的字节(符),为0时不删除,为NULL时为删除从insert_offset开始到结束的所有数据。要插入的数据为 inserted_data为,也可是表table_name的src_column_name字段中指针 src_text_ptr所指数据。
例:
DECLARE @ptrval binary(16)
SELECT @ptrval = TEXTPTR(img_ct) FROM zy_ct WHERE id_ct = 20010101001
UPDATETEXT zy_ct.img_ct @ptrval 16 0x54345
可以看出,这三个函数的使用比较复杂,虽然可以通过生成存贮过程来调用执行,但有一个缺陷是在读取数据时,READTEXT函数读取的数据无法直接传递回前端应用程序。
[]
赞助商链接