Como fazer: Create Procedure temporaria?

15/12/2006

0

Olá.

Alguem ja fez uso ou tem conhecimento sobre este metodo?

Quais dicas, prós e contras?

Grato.


Macario

Macario

Responder

Posts

18/12/2006

Psergio.p

As procedures temporárias assim como as tabelas temporárias são vistas somente enquanto dura a conexão, ou seja quando a conexão é encerrada elas são removidas!
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


Responder

19/12/2006

Macario

Olá [b:6e85865062]psergio.p[/b:6e85865062], bom dia colega.

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)


Responder

19/12/2006

Psergio.p

Tudo bem com você?

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.


Responder

19/12/2006

Macario

Por enquanto tudo tranquilo por aqui.

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.


Responder

23/12/2006

Psergio.p

Sem o se código é dificil te dizer alguma coisa!


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar