Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 bulk insert  [new]
Katerina_D
Member

Откуда:
Сообщений: 63
Добрый день, плиз хелп))) почему не работает?

declare @f1 varchar(30)
select @f1 = '''C:\ТЕСТ\IN_'+ convert(varchar,DATEPART(yy, getdate()))
+ '-' + (select case when DATEPART(mm, getdate()) <= 9 then '0'
+ convert(varchar,DATEPART(mm, getdate())) else convert(varchar,DATEPART(mm, getdate())) end)
+ '-'+ convert(varchar,DATEPART(dd, getdate()))
+ '_'+ convert(varchar,DATEPART(hh, getdate()))+'.csv'''
--select @f1

BULK INSERT Table_7
FROM @f1 WITH ( CODEPAGE = 1251,
ROWTERMINATOR='\n',
FIELDTERMINATOR=';',
FIRSTROW =2)

Текст ошибки:
Msg 102, Level 15, State 1, Line 10
Incorrect syntax near '@f1'.
Msg 319, Level 15, State 1, Line 10
Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon.

Необходимо автоматизировать эту работу, т.е. поставить в джоб
14 июн 11, 17:53    [10812054]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
Fire83
Member

Откуда: Гомель-Минск
Сообщений: 474
Katerina_D,
Нельзя использовать переменные после FROM в BULK INSERT.
Используйте динамический SQL
14 июн 11, 17:56    [10812077]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
Katerina_D
Member

Откуда:
Сообщений: 63
а можно подробнее,что можно мне сделать?!
14 июн 11, 17:58    [10812094]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2793
declare @s varchar(8000)

set @s = 'BULK INSERT Table_7 
FROM '''+@f1+''' WITH ( CODEPAGE = 1251,
ROWTERMINATOR=''\n'', 
FIELDTERMINATOR='';'',
FIRSTROW =2)'

execute(@s)


14 июн 11, 18:03    [10812126]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert  [new]
Katerina_D
Member

Откуда:
Сообщений: 63
Спасибо, буду пробовать)
20 июн 11, 11:43    [10839179]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить