Procedure SQL-Server
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
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
Curtidas 0
Respostas
Fabiano Carvalho
09/12/2013
Busque sobre realizar link oracle com sql server ou vice versa.
GOSTEI 0
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?
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
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
09/12/2013
é sim Mariana, o mesmo esquema.
GOSTEI 0
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
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
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?
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
09/12/2013
o select do sql nao tem () somente os campos
select campo1,campo2 from table
acho q deve ser isso
select campo1,campo2 from table
acho q deve ser isso
GOSTEI 0
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?
E como faço para colocar para executar a PROCEDURE sempre que houver um novo registro na tabela do SQL?
GOSTEI 0
Fabiano Carvalho
09/12/2013
Crie uma trigger.
GOSTEI 0
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?
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
09/12/2013
Utilize INSERTED que ele pega o ultimo insert sempre.
GOSTEI 0
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?
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
09/12/2013
AFTER INSERT
GOSTEI 0
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?
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
09/12/2013
Mano substitua o INSERT por INSERTED
GOSTEI 0
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
09/12/2013
é sim Mariana, o mesmo esquema.
então posso "linkar" qualquer SGBD?
GOSTEI 0
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
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
09/12/2013
?????????????
GOSTEI 0
Leonardo Ferrareto
09/12/2013
Cria uma tabela de controle que mostra o último registro inserido, controla por ela dai
GOSTEI 0