I have a cursor which gives parameters to columns to executes the stored procedure in order to update my table. Cursor statement is following:
declare @ColumnName nvarchar(30)
declare @ColumnID int
declare UpdateCurs cursor
for
select ColumnName , ColumnID from MyTable
open UpdateCurs
fetch next from UpdateCurs into @ColumnName , @ColumnID
while @@FETCH_STATUS = 0
BEGIN
execute dbo.UpdateMyTable @ColumnName , @ColumnID
fetch next from UpdateCurs into @ColumnName , @ColumnID
END
close UpdateCurs
deallocate UpdateCurs
When I execute the statement directly, it works fine, but when I create maintenance plan via "Execute T-SQL statement" and schedule job, the job results with following error:
failed with the following error: "Invalid column name 'ColumnID'.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly."
One thing I can`t understand that, if there is something wrong with my statement, why it is executed without problems directly and gives error on Maintenance plan ? I will appreciate your thoughts on this
t spell "use databasename" in my query, that
s why my job wasn`t executing. Sorry, and thank you for pointing to the issue. – Nizami Khalilbayli Nov 24 '16 at 12:41