Я определил табличную функцию X
с 11 параметрами. Их типы nvarchar(30)
, nvarchar(30)
, datetime
, datetime
, nvarchar(15)
, nvarchar(4)
, xml
, nvarchar(8)
, nvarchar(80)
, bit
и bit
соответственно. Это для Microsoft SQL Server 2012. Когда я вызываю функцию сОшибка SQL Server 2012: Параметры для функции X
select * from
X('A','B','2014-01-01','2014-12-31',null,null,'<C><D>E</D></C>',null,null,1,0)
Я бегу в эту ошибку:
Parameters were not supplied for the function X
Это, по-видимому отличается от следующих двух:
An insufficient number of arguments were supplied for the procedure or function X
Procedure or function X has too many arguments specified.
Связано ли это с двумя значениями предполагаемых параметров: null
? Как я могу преодолеть проблему и определить/вызвать табличную функцию, такую как 11 параметров, некоторые из которых могут нести null
?
UPDATE Проблема остается, если я передаю произвольные строки вместо null
. Поэтому должна быть другая (возможно, глупая) ошибка.
Можете ли вы дать первые строки объявления функции для X? – Mithrandir
Я определил tvf, как тот, который вы описали, и использовал свой запрос для тестирования. Он выполняется без каких-либо проблем. Должна быть проблема с определением функции –
Можете ли вы предоставить вам функцию. –