Имя: Пароль:
IT
Админ
SQL Создание хранимой процедуры с параметрыми
0 Ник080808
 
09.11.16
21:24
создал запрос
insert
into TableFoto(NameFile,Foto)
select 'test_2016', BulkColumn
FROM OpenRowSet(
BULK N'D:\Share\test_2016.pdf',
SINGLE_BLOB
) AS mFile
работает.
Пытаюсь создать хранимую процедуру, что бы вместо имени файла вписывать параметры  
CCREATE PROCEDURE LoadFoto
    -- Add the parameters for the stored procedure here
    @FileName string,
    Name nvarchar(250)
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here
    insert
    into TableFoto(NameFile,Foto)
    select Name, BulkColumn
    FROM OpenRowSet(BULK @FileName, SINGLE_BLOB) AS mFile;

END
GO
ругается на синтаксис @FileName - ожидается стринг или текст. Собственно, как правильно передать параметры в данную процедуру?
1 Ник080808
 
09.11.16
21:25
Перед Name собачка вообще-то была, но ее миста сьела(
2 rsv
 
09.11.16
21:34
Вероятно потому что openrowset с параметром работать не будет т.к. скорее требует явного указания строкового значения
3 Fram
 
09.11.16
21:39
string???
4 Ник080808
 
09.11.16
21:46
(2) похоже( (3) Если Вы про @FileName string, то это было уже отчаянье)))) на самом деле там  nvarchar(250). В общем таки да. параметры оно не кушает. придется не через хранимую а через запрос. всем спасибо
5 Fram
 
09.11.16
21:53
exec('
insert
into TableFoto(NameFile,Foto)
select Name, BulkColumn
FROM OpenRowSet(BULK ' + @FileName + ', SINGLE_BLOB) AS mFile
')
6 Fram
 
09.11.16
22:03
кавычки забыл. это все одинарные кавычки!
    
exec('
insert
into TableFoto(NameFile,Foto)
select Name, BulkColumn
FROM OpenRowSet(BULK ''' + @FileName + ''', SINGLE_BLOB) AS mFile
')
Основная теорема систематики: Новые системы плодят новые проблемы.