Передача в MS SQL табличной переменной не работает
|
|
Воскресенье, 04 Июня 2017 г. 00:37
+ в цитатник
Здравствуйте !
strSql = " DECLARE @m_table1 AS m_table; " & _
" DECLARE @ret int; " & _
" INSERT INTO @m_table1 (id, val) " & _
" SELECT 1, 3 " & _
" union all" & _
" SELECT 2, 4 " & _
" union all" & _
" SELECT 3, 5 " & _
" union all" & _
" SELECT 4, 6 ;" & _
" exec @ret = p_insert @m_table1, @ret = Null "
Dim qdf As QueryDef
Set qdf = CreateTempQueryDef(strSql)
Set OpenRecordset = qdf.OpenRecordset(dbOpenForwardOnly, dbReadOnly)
Вот такой код я пытаюсь выполнить в акцесе. Он отлично отрабатывает в management studio, а вот акцесс говорит: invalid argument.
Можно ли что-то поправить? Пробовала акцесс самых разных версий, но пока выходит, что проблема возникает именно при работе с табличной переменной. Стоит ее убрать, вот этот вызов: exec @ret = p_insert @m_table1, @ret = Null и всё хорошо.
Переписать процедуру на передачу не таблицы, а параметров в виде чисел можно, но от этого как раз хотелось уйти.
http://www.sql.ru/forum/1262053/peredacha-v-ms-sql-tablichnoy-peremennoy-ne-rabotaet
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-