Avatar billede larsmartin Praktikant
31. marts 2015 - 10:43 Der er 1 kommentar og
1 løsning

Omdøbe tabelnavne

Hej,
Jeg har en database med måske 100 tabeller.
De ca 15 af dem vil jeg gerne omdøbe til TabelNavn+'_201501'

Jeg kunne selvfølgelig godt bare bruge

Exec sp_rename 'database.dbo.TabelNavn', 'TabelNavn_201503';

15 gange, men tænker jeg gerne vil lave noget smart a la

SET @Data = '_201503'
SET @Table = 'TABLE_NAME'
SET @Query = 'EXEC sp_rename '''+@Table+''','''+@Table+@Date+''''
EXEC(@Query)



Jeg tænker jeg måske kunne smide de 15 navne i en temp tabel og så loope igennem dem, men kan ikke lige komme helt i mål.
Tak:)
Avatar billede Syska Mester
31. marts 2015 - 22:44 #1
Hvordan ved du hvad 15 tabeller der skal laves en rename på?
Avatar billede larsmartin Praktikant
01. april 2015 - 09:42 #2
Det bestemmer jeg selv, men jeg fandt en løsning,
hvor jeg indlæser relevante navne i en temp tabel først.

use My_DATABASE
declare @value int
set @value =1
DECLARE @Date NVARCHAR(8), @Table NVARCHAR(500), @Query NVARCHAR(2000)
SET @Date = '_201503'
while ((select count(*)from #tempDateTable) >= @value)
begin

;With Name_CTE (Name, rowNumber)
as
(select *, row_number() over(order by name) rowNumber from #tempDateTable)

Select @Table = Name from Name_CTE where @value= rowNumber
Set @value=@value+1
SET @Query = 'EXEC sp_rename '''+@Table+''','''+@Table+@Date+''''

EXEC(@Query)
end
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester