Tsql T-SQL:字符串concat的问题
我有一组名为GreenLine1.mp3、GreenLine2.mp3 e.t.c的音频文件。我将把它们作为BLOB(我使用MS SQL Server'08)写入一个表中,下面是我的SQL请求:Tsql T-SQL:字符串concat的问题,tsql,sql-server-2008,string-concatenation,openrowset,Tsql,Sql Server 2008,String Concatenation,Openrowset,我有一组名为GreenLine1.mp3、GreenLine2.mp3 e.t.c的音频文件。我将把它们作为BLOB(我使用MS SQL Server'08)写入一个表中,下面是我的SQL请求: DECLARE @aud AS VARBINARY(MAX) DECLARE @num AS INT -- Load the audio data SET @num=1 WHILE (@num<38) BEGIN; SELECT @aud = CAST(bulkcolumn AS VAR
DECLARE @aud AS VARBINARY(MAX)
DECLARE @num AS INT
-- Load the audio data
SET @num=1
WHILE (@num<38)
BEGIN;
SELECT @aud = CAST(bulkcolumn AS VARBINARY(MAX))
FROM OPENROWSET(
BULK
'C:\Users\Ilya\folder\GreenLine' + CAST(@num AS VARCHAR) + '.mp3',
SINGLE_BLOB ) AS x
-- Insert the data to the table
INSERT INTO Mb2.dbo.Audios (Id, [Content])
SELECT NEWID(), @aud
SET @num = @num + 1
END;
将@aud声明为VARBINARY(最大值)
将@num声明为INT
--加载音频数据
设置@num=1
WHILE(@num您不能参数化或连接的参数。它只是常量值
您必须使用动态SQL和临时表,或者考虑使用SSIS,例如
< P>。当我与OpenQue:有同样的问题时,这篇文章指出了我的正确方向。
基本上,您可以将整个语句封装在一个变量(nvarchar)中,包括openrowset,然后运行exec sp_executesql@sql
。但是,阅读,
会有点难看,因为您必须使用”
链接来转义它们。这就是链接失败的原因