Eu tenho uma tabela que contém uma coluna de caminho de arquivo contendo dados como este.
C:\ABC\Files\AA.dat
C:\ABC\Files\AA.Unbound.qp
C:\DEF\AA\GGG Build 1 Modules\Random123.qpp
C:\DEF\AA\GGG Build 1 Modules\Random456.qpp
C:\GH\DC.Random789.qpp
C:\IJK\Random987.qpp
Eu preciso substituir o caminho do arquivo por um caminho genérico antes do nome real do arquivo, então tudo antes do final \ precisa mudar, mas manter os mesmos nomes de arquivo, algo assim
D:\FILES\AA.dat
D:\FILES\AA.Unbound.qpp
D:\FILES\Random123.qpp
D:\FILES\Random456.qpp
D:\FILES\DC.Random789.qpp
D:\FILES\Random987.qpp
A tabela tem em torno de 2000 linhas e se possível quero atualizar em um único script. Executando o SQL 2008R2 e este é o primeiro estágio da atualização final, portanto, qualquer ajuda seria apreciada.
Uma abordagem possível é reverter os nomes completos dos arquivos e encontrar os nomes reais dos arquivos.
Mesa:
Declaração:
Resultado:
Eu escrevi algo que funcionou, me dá apenas o nome do arquivo após o caractere \ final. Então eu deveria ser capaz de construir uma declaração de atualização.
SELECT Column1 ,Column2 ,FilePath ,RIGHT(FilePath,CHARINDEX('\',REVERSE(FilePath))+0) file_name FROM TableName
Aberto a conselhos se este for o melhor caminho a seguir