Procedure SQL-Server

09/12/2013

0

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

Responder

Posts

09/12/2013

Fabiano Carvalho

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

09/12/2013

Marcio Morando

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?
Responder

09/12/2013

Mariana Carvalho

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


não sabia que era possivel. é o mesmo esquema do linked server?
Responder

09/12/2013

Marcio Morando

é sim Mariana, o mesmo esquema.
Responder

09/12/2013

Isaac Jose

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
Responder

10/12/2013

Marcio Morando

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?
Responder

10/12/2013

Isaac Jose

o select do sql nao tem () somente os campos


select campo1,campo2 from table

acho q deve ser isso
Responder

10/12/2013

Marcio Morando

Procedure está Ok.

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

10/12/2013

Fabiano Carvalho

Crie uma trigger.
Responder

10/12/2013

Marcio Morando

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?
Responder

10/12/2013

Jefferson Santos

Utilize INSERTED que ele pega o ultimo insert sempre.
Responder

10/12/2013

Marcio Morando

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?
Responder

10/12/2013

Fabiano Carvalho

AFTER INSERT
Responder

10/12/2013

Marcio Morando

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?
Responder

10/12/2013

Jefferson Santos

Mano substitua o INSERT por INSERTED
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