Procedure SQL-Server

SQL Server

09/12/2013

Boa Tarde,

Preciso fazer um Procedure que busque dados de um Tabela no SQL server e escreva em outra tabela no ORACLE. Alguma sugestão de como devo proceder?

Obrigado
Marcio Morando

Marcio Morando

Curtidas 0

Respostas

Fabiano Carvalho

Fabiano Carvalho

09/12/2013

Busque sobre realizar link oracle com sql server ou vice versa.
GOSTEI 0
Marcio Morando

Marcio Morando

09/12/2013

Não sim. Isso eu já fiz. Tenho dúvida na criação da PROCEDURE mesmo.
Montei um select com os campos que quero que a procedure busque e escreva no ORACLE.
Mas agora como devo criar esta procedure?
Devo colocar parametros antes do Select para dai especificar no insert todos os campos?
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

09/12/2013

Busque sobre realizar link oracle com sql server ou vice versa.


não sabia que era possivel. é o mesmo esquema do linked server?
GOSTEI 0
Marcio Morando

Marcio Morando

09/12/2013

é sim Mariana, o mesmo esquema.
GOSTEI 0
Isaac Jose

Isaac Jose

09/12/2013

boa tarde.
desculpe mas não consegui entender direito.
de qualquer forma espero que o link ajude
http://msdn.microsoft.com/pt-br/library/ms187926.aspx
GOSTEI 0
Marcio Morando

Marcio Morando

09/12/2013

Preciso fazer uma procedure que faça primeiramente um SELECT em uma base sql e depois um INSERT em uma base Oracle.
Já foi feito o LinkedServer e está funcionando.
Segue a minha Procedure:

CREATE PROCEDURE NomeProcedure
AS
BEGIN
INSERT INTO NomeTabelaOracle(Campos da Tabela)
SELECT (Campos da Tabela SQL) FROM TabelaSQL
END

O que pode estar errado?
GOSTEI 0
Isaac Jose

Isaac Jose

09/12/2013

o select do sql nao tem () somente os campos


select campo1,campo2 from table

acho q deve ser isso
GOSTEI 0
Marcio Morando

Marcio Morando

09/12/2013

Procedure está Ok.

E como faço para colocar para executar a PROCEDURE sempre que houver um novo registro na tabela do SQL?
GOSTEI 0
Fabiano Carvalho

Fabiano Carvalho

09/12/2013

Crie uma trigger.
GOSTEI 0
Marcio Morando

Marcio Morando

09/12/2013

CREATE TRIGGER NomeTrigger
ON Tabela
AFTER INSERT
AS
BEGIN
EXECUTE Procedure
END

Como eu defino que deve ser executada somente apos um insert na tabela?
GOSTEI 0
Jefferson Santos

Jefferson Santos

09/12/2013

Utilize INSERTED que ele pega o ultimo insert sempre.
GOSTEI 0
Marcio Morando

Marcio Morando

09/12/2013

CREATE TRIGGER NomeTrigger
ON Tabela
AFTER INSERT
AS
BEGIN
EXECUTE Procedure
END

Aonde eu defino que após o Insert na tabela do SQL vai rodar a proc?
GOSTEI 0
Fabiano Carvalho

Fabiano Carvalho

09/12/2013

AFTER INSERT
GOSTEI 0
Marcio Morando

Marcio Morando

09/12/2013

Ok está tudo funcionando. Muito Obrigado.

Somente mais uma dúvida. Quando a procedure é executada ela esta trazendo todos os campos, e quero que traga somente os novos inseridos.

Como posso fazer isso?
GOSTEI 0
Jefferson Santos

Jefferson Santos

09/12/2013

Mano substitua o INSERT por INSERTED
GOSTEI 0
Marcio Morando

Marcio Morando

09/12/2013

Vou criar um Job no Oracle mano para executar esta procedure, não vou mais utilizar TRIGGER,então precisaria de uma solução na própria Procedure.
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

09/12/2013

é sim Mariana, o mesmo esquema.


então posso "linkar" qualquer SGBD?
GOSTEI 0
Jefferson Santos

Jefferson Santos

09/12/2013

Vou criar um Job no Oracle mano para executar esta procedure, não vou mais utilizar TRIGGER,então precisaria de uma solução na própria Procedure.


Marcio o INSERTED - Pega o Ultimo Insert, toda vez que for inserida qualquer informação na tabela ela dispara a trigger.
Uma outra opção é o Job ou agendamento de tarefas do windows ultilizando arquivo .BAT
GOSTEI 0
Marcio Morando

Marcio Morando

09/12/2013

Vou criar um Job no Oracle mano para executar esta procedure, não vou mais utilizar TRIGGER,então precisaria de uma solução na própria Procedure.


Marcio o INSERTED - Pega o Ultimo Insert, toda vez que for inserida qualquer informação na tabela ela dispara a trigger.
Uma outra opção é o Job ou agendamento de tarefas do windows ultilizando arquivo .BAT


Jeferson, não vou usar Trigger para executar a Procedure.
Vou usar um Job do Oracle.
Queria ver se tem como buscar o ultimo insert na propria procedure entendeu?
GOSTEI 0
Marcio Morando

Marcio Morando

09/12/2013

?????????????
GOSTEI 0
Leonardo Ferrareto

Leonardo Ferrareto

09/12/2013

Cria uma tabela de controle que mostra o último registro inserido, controla por ela dai
GOSTEI 0
POSTAR