Como fazer: Create Procedure temporaria?
15/12/2006
0
Alguem ja fez uso ou tem conhecimento sobre este metodo?
Quais dicas, prós e contras?
Grato.
Macario
Curtir tópico
+ 0Posts
18/12/2006
Psergio.p
Não sei qual o seu objetivo más até só usei tabelas temporárias, procedures temporarias nunca usei!
Segue um exemplo:
CREATE PROCEDURE #SP_TESTE
AS
BEGIN
SELECT 1
END
Gostei + 0
19/12/2006
Macario
Tenho a seguinte necessidade, mostrada nos exemplos abaixo:
create procedure NOTASPERIODO ( @PERIODOINI as datetime, @PERIODOFIN as datetime ) as begin select A.CODNOTA, A.CODCLI, B.NOMCLI, A.TOTNOTA from NOTAS A inner join CLIENTES B on (A.CODCLI = B.CODCLI) where A.DATA between @PERIODOINI and @PERIODOFIN end
Nesta procedure faço uma simples instrução, onde a tabela NOTAS e CLIENTES encontram-se no mesmo Database.
Meu ´problema´ é a seguinte situação:
create procedure NOTASPERIODO ( @PERIODOINI as datetime, @PERIODOFIN as datetime ) as begin select A.CODNOTA, A.CODCLI, B.NOMCLI, A.TOTNOTA from BANCO1.dbo.NOTAS A inner join BANCO2.dbo.CLIENTES B on (A.CODCLI = B.CODCLI) where A.DATA between @PERIODOINI and @PERIODOFIN end
Neste caso tenho os objetos em databases distintos.
Devido a esse motivo preciso montar as instruções em runtine, pois so assim sei onde cada tabela envolvida está (banco1 ou banco2).
1 - )Outro ponto, eu tendo 50 usuarios no mesmo sistema, terei problemas no SQL em estar criando muitas Sp´s temporarias?
2- ) Existe alguma outra maneira para solucionar o caso descrito?
Grato pela atenção 8)
Gostei + 0
19/12/2006
Psergio.p
Agora sim entendi seu problema. Deixa eu perguntar uma coisa: Você não poderia passar o nome do banco como parametro para a stored procedure e gerar a query dinamicamente? Se puder ser assim você só terá uma stored procedure! Aí eu te ajuda a monta-la.
Gostei + 0
19/12/2006
Macario
Então, no caso de montar a sp dinamicamente em determinados modulos faço uso deste recurso.
Há necessidade real envolve uma sp com cursor declarado, imagino eu que nesta situação já não seria tão facil ´cria-la´. Pois alem do cursor faço insert dentro de uma tabela temporaria via execute().
Infelizmente não posso postar o código da sp para um melhor entendimento.
Fiz um teste criando a sp temporaria executado sem erro algum, mas no momento de passar os parametros para os componentes de acesso ocorre o erro, no qual diz que (ja no primeiro ) parametro ´tal´ não foi encontrado.
Grato.
Gostei + 0
23/12/2006
Psergio.p
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)