SQL Server переименовывает таблицы с ограничениями

Очень простое положение, в котором я нахожусь.

По сути, у меня есть четыре таблицы с первичными / внешними ключами и каскадными ограничениями, что-то вроде этого.

CREATE TABLE [Board]
(
 [BoardId] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED ( [BoardId] )
,[Name] [nvarchar](100) NOT NULL
,[Description] [nvarchar](max) NULL
,[PortalId] [int] NOT NULL FOREIGN KEY ( [PortalId] ) REFERENCES Portals ( [PortalID] ) ON DELETE CASCADE ON UPDATE CASCADE
,[OrganizerId] [int] NOT NULL
,[GroupId] [int] NULL
,[ModuleId] [int] NOT NULL FOREIGN KEY ( [ModuleId] ) REFERENCES Modules ( [ModuleID] ) ON DELETE CASCADE ON UPDATE CASCADE
,[CreatedByUserId] [int] NOT NULL
,[CreatedOnDate] [datetime] NOT NULL
,[LastModifiedByUserId] [int] NULL
,[LastModifiedOnDate] [datetime] NULL
)
GO

Настал момент, когда мне нужно переименовать исходные таблицы. Я переименовал таблицы в прошлом, используя sp_rename oldTableName, newTableName но не таблицы с основными, внешними и каскадными ограничениями.

Достаточно ли безопасно переименовывать таблицы с sp_rename или я должен прибегнуть к созданию таблиц с нуля, копировать данные через и затем отбрасывать старые таблицы?

1 ответ

Просто чтобы закрыть вопрос.

Решение, которое я изначально предложил использовать sp_rename oldTableName, newTableName работал нормально для меня.

Но, как заметил @jaques, вам надоело stored procedures которые могут быть прикреплены к этим таблицам. Потому что хранимая процедура отрабатывает имена таблиц.

Другие вопросы по тегам