Not able to return/insert value in database using dynamic named query .
Error - A result set was generated for update.
Working fine in MSSQL server
DECLARE @Sql AS NVARCHAR(MAX),
@Sql1 AS NVARCHAR(MAX),
@ParmDefinition AS NVARCHAR(MAX),
@cnt INT,
@Fld varchar(max)='serial_number',
@var int,
@Fld1 varchar(max)='wi_id' ,
@Fld2 varchar(max)='equipment_id' ,
@LookupValue NVARCHAR(MAX)= :serial_number ,
@LookupValue1 NVARCHAR(MAX)=convert(nvarchar(max), :wi_id ),
@LookupValue2 NVARCHAR(MAX)=convert(nvarchar(max), :equipment_id ),
@LookupValue3 NVARCHAR(MAX)= :start_time ,
@LookupValue4 NVARCHAR(MAX)= :end_time ,
@LookupValue5 NVARCHAR(MAX)=convert(nvarchar(max), :actual_ct ),
@LookupValue6 NVARCHAR(MAX)=convert(nvarchar(max), :overshoot ),
@LookupValue7 NVARCHAR(MAX)= :CPIL ,
@LookupValue8 NVARCHAR(MAX)= :Operator ,
@LookupValue9 NVARCHAR(MAX)=convert(nvarchar(max), :target_ct ),
@Tbl varchar(max);
if @LookupValue2 >200 and @LookupValue2<250
begin
set @Tbl='Table1'
END
if @LookupValue2 >400 and @LookupValue2<450
begin
set @Tbl='Table2'
END
set nocount on;
SET @Sql = N'SELECT @cnt = COUNT(*) FROM ' + @Tbl +
' WHERE ' + @Fld + ' = ''' + @LookupValue + ''' and ' + @Fld1 + ' = ''' + @LookupValue1 + ''' and ' + @Fld2 + ' = ''' + @LookupValue2 + '''';
SET @ParmDefinition=N'@cnt int OUTPUT';
set nocount on;
EXEC sp_executesql @Sql,@ParmDefinition,@cnt = @var OUTPUT;
select @var as VarCount
If @var=0
Begin
SET @Sql1 = N' INSERT INTO ' + @Tbl + ' VALUES ('''+@LookupValue+''','''+@LookupValue1+''','''+@LookupValue2+''','''+@LookupValue3+''','''+@LookupValue4+''','''+@LookupValue5+''','''+
@LookupValue6+''','''+@LookupValue7+''','''+@LookupValue8+''','''+@LookupValue9+''')'
EXEC sp_executesql @Sql1
end