sql - 使用光标将批量图像导入 SQL Server
问题描述
我正在尝试起草一个 SQL 脚本,该脚本将循环将图像文件插入到基于 ID 匹配的 SQL Server 表中。我根据数据库中的 customerID 命名了图像文件。我想找出一种方法来遍历成员 ID 并将图像插入我的表中。以下是我当前的代码。
Declare @CUSTCD int, @EVENTCD nvarchar(50), @SIGNATURES varbinary(max)
SET @SIGNATURES = Select BulkColumn from Openrowset (Bulk 'C:\sigs\'+ @CUSTCD int+ '.png', Single_Blob) as Image
-- declare a cursor DECLARE insert_cursor CURSOR FOR select @CUSTCD,'75thCelebration', BulkColumn from Openrowset (Bulk 'C:\sigs\'+(Select @CUSTCD from CUS)+'119.png', Single_Blob) as Image --SELECT CUSTCD , EVENTCD, SIGNATURES from CUS_SIGS2 --WHERE CUSTCD = 78
-- open cursor and fetch first row into variables OPEN insert_cursor FETCH NEXT FROM insert_cursor into @CUSTCD, @EVENTCD, @SIGNATURES
-- check for a new row WHILE @@FETCH_STATUS=0 BEGIN -- do complex operation here Insert into CUS_SIGS2
SELECT @CUSTCD, @EVENTCD, @SIGNATURES -- get next available row into variables FETCH NEXT FROM insert_cursor into @CUSTCD, @EVENTCD, @SIGNATURES END close insert_cursor Deallocate insert_cursor GO
解决方案
对不起,但你的代码是一团糟。我认为这大致是你想要做的:
declare @CUSTCD int, @EVENTCD nvarchar(50), @SIGNATURES varbinary(max)
declare insert_cursor cursor for select CUSTCD from CUS
open insert_cursor
fetch next from insert_cursor into @CUSTCD
while @@fetch_status = 0
begin
set @SIGNATURES = Select BulkColumn from Openrowset (Bulk 'C:\sigs\'+ @CUSTCD int+ '.png', Single_Blob) as Image
-- "do complex operation here Insert into CUS_SIGS2"
fetch next from insert_cursor into @CUSTCD
end
close insert_cursor
deallocate insert_cursor
虽然我不知道@EVENTCD
应该从哪里来。
推荐阅读
- r - R中的ggplot2不会在pdf中生成1000多个图
- java - 如何使用 BorderLayout 缩小我的文本字段并在右下角定位标签?
- components - weka的主成分分析返回错误的实例
- mysql - 使用星号(通配符)运算符执行搜索时,MySQL 将如何使用 FT 索引?
- visual-studio - Visual Studio 表单设计
- jquery - 与所有其他输入一起获得无线电值
- jquery - 在jQuery中滚动
- python - 在 Windows 10 上为 python 安装 matplotlib 时出错
- json - 使用jackson生成带反斜杠的json
- mysql - Mysql Limit By sum of count