Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal,
Alguém sabe como fazer com que o banco automaticamente delete os registros de uma tabela antes da importação. A importação será via DTS de um banco para outro dentro do mesmo servidor SQL Server.
Obrigado! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Mas o que eu vou importar é o resultado de uma query, tem como eu especificar a query pela opção que você disse?
Tem sim.
Abra a opçao do dts e verifique ela lá :)
eh na 4 tela (se nao me falhe a memoria)
abçs
Não encontrei nenhuma opção para executar um query? Tem como você confirmar pra mim?
Eu dei os prints screen das telas, passo-a-passo, acesse: http://www.mazer.com.br/temp/SQLServer.htm
Muito obrigado pela atenção!
Abraço,
Opa, fael,
Me desculpa, acabei confundindo um pouco.
Do modo que esta fazendo o DTS vai apagar a tabela e recriá-la com os dados (última tela), mas atente para a opcao "include all dependent objetcs". com esta opcao marcada ele vai recriar tb as tabelas dependentes (relacionadas). Desmarque esta opção.
Desmarque tb a opção "copy all objects" e veja que vai habilitar o botão "select objects", eh ai que você vai selecionar a tabela que vai ser copiada.
Tente deste modo e post de deu algum erro. Não é para dar, a não ser a nível de permissão de usuário.
Qq coisa poste novamente.
Abçs
>
Opa, fael,
Me desculpa, acabei confundindo um pouco.
Do modo que esta fazendo o DTS vai apagar a tabela e recriá-la com os dados (última tela), mas atente para a opcao "include all dependent objetcs". com esta opcao marcada ele vai recriar tb as tabelas dependentes (relacionadas). Desmarque esta opção.
Desmarque tb a opção "copy all objects" e veja que vai habilitar o botão "select objects", eh ai que você vai selecionar a tabela que vai ser copiada.
Tente deste modo e post de deu algum erro. Não é para dar, a não ser a nível de permissão de usuário.
Qq coisa poste novamente.
Abçs
Tudo bem, até aí beleza, mas eu não quero copiar todos os registros da tabela, quero apenas o resultado de um query.
Entao vamos lá.
3. tela. escolha a opção:
"use a query to..."
proxima tela:
coloque a sintaxe sql que você tem
proxima tela:
clique em destination e coloque para qual tabela seus dados vão
clique no botao que tem em frente ao nome da tabela (parece 3 pontos) -transform-
selecione a opção "delete rows in dest. table"
De ok
e o resto eh o de praxe.
Agora vai.
abçs
>
Entao vamos lá.
3. tela. escolha a opção:
"use a query to..."
proxima tela:
coloque a sintaxe sql que você tem
proxima tela:
clique em destination e coloque para qual tabela seus dados vão
clique no botao que tem em frente ao nome da tabela (parece 3 pontos) -transform-
selecione a opção "delete rows in dest. table"
De ok
e o resto eh o de praxe.
Agora vai.
abçs
Não rolou... Têm tabelas no banco que fazem referência a ela... Não tem alguma forma de desabilitar o relacionamento enquando faz esse processo?
Pessoal, alguém?
Valeu! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
Fael, mesmo tendo referencia, do ultimo modo que postei resolveria o seu caso. Esta dando alguma msg de erro?:
Abçs
Dá erro sim, quando ele vai deletar os registros. Dê uma olhada http://www.mazer.com.br/temp/erro.jpg
Valeu pela atenção que você está me dando! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Ola Fael.
Vamos por partes.
O erro que esta dando eh por causa de uma referencia de chaves estrangeiras que tem em sua tabela.
Para o "delete" você tem que deletar este relacionamento e recria-lo em seguida.
"
1º apagar a constraint da tabela:
alter table <nome da tabela> drop constraint <nome da constraint>
2º adicionar novamente a constraint mas adicionando o on update cascade
constraint <nome> foreign key (campo) references <tabela>(<campo>) on update cascade
"
Fazendo isso você consegue usar seu dts e tudo mais.
Se você fizer por job vai ser mais facil. você pode colocar passo a passo a ser executado, como por exemplo:
passo1: deletar as constraint
passo2: deletar registros
passo3: copiar dados
passo4: adicionar novamente as constraint
Acho que eh isso. :)
Estes posts tb devem lhe ajudar:
http://support.microsoft.com/kb/870654/EN-US/
http://www.sqlmonster.com/Uwe/Forum.aspx/s...ted-with-COLUMN
http://www.sqlmonster.com/Uwe/Misc/SR.aspx...MN+REFERENCE%22
Qq duvida eh soh postar
Abçs
Qdo você usa o DTS, selecione a opção " Copy objects and data..." que eh a 3. opção.
Deixe marcado a opção "replace exisiting data".
antes disso: BAKUP BACKUP BACKUP ok?!
abçs