Если существует с использованием табличной переменной - PullRequest
0 голосов
/ 22 апреля 2020

Вот фрагмент моего кода, который работает при запуске в SQL, но не работает при запуске внутри моего приложения:

OPEN copy_fwd
FETCH next FROM copy_fwd INTO @table
WHILE @@fetch_status = 0

BEGIN

DECLARE @temp TABLE (fields NVARCHAR(MAX))
DECLARE @sSQL NVARCHAR(500), @rowcount INT

SET @sSQL = 'select * from ' + @table + ' where enc_id = ''' + @cur_enc_id + ''' set @count = @@ROWCOUNT'
EXEC sp_executesql @sSQL, N'@Count int OUTPUT', @Count = @rowcount OUTPUT

DECLARE @sSQL2 NVARCHAR(500), @rowcount2 INT

SET @sSQL2 = 'select * from ' + @table + ' where enc_id = ''' + @prev_enc_id + ''' set @count = @@ROWCOUNT'
EXEC sp_executesql @sSQL2, N'@Count int OUTPUT', @Count = @rowcount2 OUTPUT

if @rowcount = 0 and @rowcount2 > 0 

begin

Когда я запускаю это в SQL, я вижу каждый время выполнения моего оператора EXE C, и я думаю, что мое приложение останавливается после первого. Можно ли как-нибудь выполнить это бесшумно или выполнить мою задачу по-другому? Может быть, вызвать другой SP из моего приложения SP?

TIA!

Снимок экрана вывода при запуске в SQL 1

...