I am passing a null table type in sql procedure and getting error Operand type clash: varchar is incompatible with MyFilters, how can we solve it, TIA.
Proc :-
Create procedure [dbo].[Filters]
(
@MyFilters dbo.MyFilters READONLY,
@UserId int=0
)
as
begin
-- code..
end
Type :-
CREATE TYPE [dbo].[MyFilters] AS TABLE(
ColumnName varchar(30),
FirstFilterType varchar(20),
FirstFilterVal varchar(200),
SecondFilterType varchar(20),
SecondFilterVal varchar(200),
MultiOperator varchar(10),
IsMulti bit,
ColumnType varchar(20)
)
Table type cannot be null, but it can be empty(without any rows) You can simple exec your sp without parameters:
EXEC [dbo].[Filters]and @MyFilters will be empty