Přejmenovávání objektů
Každý objekt je označen svým jménem. K přejmenování objektu lze použít buď SQL příkaz RENAME nebo lze vybraný objekt přejmenovat z Řídicího panelu (položka Přejmenovat je aktivní pouze u těch objektů, k nimž má uživatel právo modifikovat). Pokud některý objekt přejmenujete, pak je třeba změnit jeho jméno všude, kde se vyskytuje.
Při přejmenování objektu SQL server (od verze 9.0) provede tyto akce:
- změní se jméno objektu v příslušných systémových tabulkách;
- pokud je jméno objektu obsaženo v jeho definici, změní se i v ní;
- při přejmenování tabulky spojené referenční integritou s jinou tabulkou je upraveno příslušné pravidlo referenční integrity;
- při přejmenování tabulky, pro kterou jsou definované triggery, upraví se definice těchto triggerů (POZOR na práva: modifikovat triggery má obvykle menší množina uživatelů!);
- při přejmenování domény se upraví definice všech tabulek, které tuto doménu používají při specifikaci typu sloupce;
- upraví se interní struktury databázového serveru popisující vztahu mezi objekty.
Žádné další akce SQL server automaticky neprovede. Proto je na autorovi aplikace, aby provedl nahrazení starého jména objektu novým na všech dalších místech. Například je třeba:
- upravit příkazy v tělech procedur uložených na serveru a triggerů, pokud obsahují jméno přejmenovaného objektu;
- upravit dotazy uložené na serveru, pokud využívají přejmenovanou tabulku;
- upravit výrazy použité např. v definicích implicitních hodnot sloupců, v integritních omezeních, v dotazech atd., pokud volají přejmenovanou funkci nebo využívají hodnotu přejmenované sekvence.
Maximální délka jména objektu je 31 znaků. Jména uživatelů, skupin a aplikací musí být unikátní v rámci serveru, jména ostatních objektů jsou unikátní v rámci aplikace (schématu). Pokud objekt zadaného jména již existuje, dojde k chybě - nastane chybový sqlstate 40004 (KEY_DUPLICITY).
Přejmenovat lze jen ty objekty, ke kterým má uživatel právo modifikovat. Přejmenovat nejde objekty typu Fultextový systém.
Viz