Estou com muita dificultade para migrar as stored procedures do postgree para o Sql Server 2008.
Tenho uma SP principal que chama outras SPs dinamicamente, veja abaixo:
... OPEN R1;
FETCH FROM R1
INTO @R1_cod_periodicidade, @R1_cod_parametroanalisepc, @R1_nome_funcao;
WHILE @@FETCH_STATUS = 0
BEGIN
-- monta string com as SPs Dinamicamente
set @chamafuncao = @R1_nome_funcao
+ ' '
+ cast(@idremessa as varchar) +', '
+ cast(@codpoder as varchar) +', '
+ cast(@codtipoug as varchar) +', '
+ cast(@codug as varchar) +', '
+ cast(@idportaria as varchar) +', '
+ cast(@opcquasem as varchar) +', '
+ cast(@codtipoanalise as varchar) +', '
+ cast(@codanalise as varchar) +', '
+ cast(@R1_cod_parametroanalisepc as varchar)
+', '
+ cast(@idperiodo as varchar) +', '
+ cast(@idreferencia as varchar) +', '
+''''', '
+ cast(@retificada as varchar);
Exec @Resultado = @chamafuncao;
FETCH NEXT FROM R1
INTO @R1_cod_periodicidade, @R1_cod_parametroanalisepc, @R1_nome_funcao;
END
CLOSE R1;
DEALLOCATE R1; ...
Quando executo esta SP principal, da o erro:
Msg 2812, Level 16, State 62, Procedure cria_analise_new_idremessa, Line 130
Não foi possível encontrar o procedimento armazenado 'lrf_analise.exec_rreo_pc01_v01 34, 2, 46, 278360, 6, 6, 1, 542, 1, 654, 13, '', 0'.
Msg 2812, Level 16, State 62, Procedure cria_analise_new_idremessa, Line 130
Não foi possível encontrar o procedimento armazenado 'lrf_analise.exec_rreo_pc02_v01 34, 2, 46, 278360, 6, 6, 1, 542, 2, 654, 13, '', 0'.
...
Se eu copio o texto na msg acima da SP que não foi encontrada e mando executar, funciona, então o nome e os parametros da SP estão corretos. Mas mesmo assim não localiza a SP.
O mesmo acontece com SQLs de inserts dinamicos, que são montados em uma string.
Alguem sabe como fazer? ou o que esta errado?