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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar