diff --git a/src/EFCore.SqlServer/Migrations/SqlServerMigrationsSqlGenerator.cs b/src/EFCore.SqlServer/Migrations/SqlServerMigrationsSqlGenerator.cs index 0d550996239..31ff9e3adc9 100644 --- a/src/EFCore.SqlServer/Migrations/SqlServerMigrationsSqlGenerator.cs +++ b/src/EFCore.SqlServer/Migrations/SqlServerMigrationsSqlGenerator.cs @@ -2207,20 +2207,18 @@ protected virtual void DropDefaultConstraint( builder .Append("DECLARE ") .Append(variable) - .AppendLine(" nvarchar(max);") + .AppendLine(" sysname;") .Append("SELECT ") .Append(variable) - .AppendLine(" = QUOTENAME([d].[name])") - .AppendLine("FROM [sys].[default_constraints] [d]") - .AppendLine( - "INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id]") - .Append("WHERE ([d].[parent_object_id] = OBJECT_ID(") + .AppendLine(" = QUOTENAME(OBJECT_NAME([c].[default_object_id]))") + .AppendLine("FROM [sys].[columns] [c]") + .Append("WHERE [c].[object_id] = OBJECT_ID(") .Append( stringTypeMapping.GenerateSqlLiteral( Dependencies.SqlGenerationHelper.DelimitIdentifier(tableName, schema))) .Append(") AND [c].[name] = ") .Append(stringTypeMapping.GenerateSqlLiteral(columnName)) - .AppendLine(");") + .AppendLine(";") .Append("IF ") .Append(variable) .Append(" IS NOT NULL EXEC(") diff --git a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.NamedDefaultConstraints.cs b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.NamedDefaultConstraints.cs index 2cba1564ce1..49be37a8173 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.NamedDefaultConstraints.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.NamedDefaultConstraints.cs @@ -193,22 +193,20 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Number'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Number'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Entity] ALTER COLUMN [Number] int NOT NULL; ALTER TABLE [Entity] ADD CONSTRAINT [MyConstraint] DEFAULT 7 FOR [Number]; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Guid'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Guid'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Entity] ALTER COLUMN [Guid] uniqueidentifier NOT NULL; ALTER TABLE [Entity] ADD CONSTRAINT [MyConstraintSql] DEFAULT (NEWID()) FOR [Guid]; @@ -619,22 +617,20 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Number'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Number'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Entity] ALTER COLUMN [Number] int NOT NULL; ALTER TABLE [Entity] ADD CONSTRAINT [DF_Entity_Number] DEFAULT 7 FOR [Number]; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Guid'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Guid'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Entity] ALTER COLUMN [Guid] uniqueidentifier NOT NULL; ALTER TABLE [Entity] ADD CONSTRAINT [DF_Entity_Guid] DEFAULT (NEWID()) FOR [Guid]; diff --git a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.TemporalTables.cs b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.TemporalTables.cs index b6016a8dde3..48943c6ee3c 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.TemporalTables.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.TemporalTables.cs @@ -1879,41 +1879,37 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Name]; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Name'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Name'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Name]; """, // """ -DECLARE @var4 nvarchar(max); -SELECT @var4 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +DECLARE @var4 sysname; +SELECT @var4 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var4 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var4 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, // """ -DECLARE @var5 nvarchar(max); -SELECT @var5 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); +DECLARE @var5 sysname; +SELECT @var5 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'; IF @var5 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var5 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Number]; """, @@ -1976,41 +1972,37 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Customers] DROP COLUMN [Name]; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Name'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [myHistorySchema].[HistoryTable] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [myHistorySchema].[HistoryTable] DROP COLUMN [Name]; """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Number'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [myHistorySchema].[HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [myHistorySchema].[HistoryTable] DROP COLUMN [Number]; """, @@ -2072,41 +2064,37 @@ ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [mySchema].[Customers] DROP COLUMN [Name]; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Name'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[HistoryTable] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [mySchema].[HistoryTable] DROP COLUMN [Name]; """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Number'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [mySchema].[Customers] DROP COLUMN [Number]; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Number'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [mySchema].[HistoryTable] DROP COLUMN [Number]; """, @@ -2172,41 +2160,37 @@ ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [mySchema].[Customers] DROP COLUMN [Name]; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Name'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[HistoryTable] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [mySchema].[HistoryTable] DROP COLUMN [Name]; """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Number'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [mySchema].[Customers] DROP COLUMN [Number]; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Number'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [mySchema].[HistoryTable] DROP COLUMN [Number]; """, @@ -2272,41 +2256,37 @@ ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [mySchema].[Customers] DROP COLUMN [Name]; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Name'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [myHistorySchema].[HistoryTable] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [myHistorySchema].[HistoryTable] DROP COLUMN [Name]; """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Number'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [mySchema].[Customers] DROP COLUMN [Number]; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Number'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [myHistorySchema].[HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [myHistorySchema].[HistoryTable] DROP COLUMN [Number]; """, @@ -2486,21 +2466,19 @@ ALTER TABLE [Customer] DROP PERIOD FOR SYSTEM_TIME """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodEnd'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodEnd'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customer] DROP COLUMN [PeriodEnd]; """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodStart'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodStart'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customer] DROP COLUMN [PeriodStart]; """, @@ -2563,21 +2541,19 @@ ALTER TABLE [Customer] DROP PERIOD FOR SYSTEM_TIME """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodEnd'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodEnd'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customer] DROP COLUMN [PeriodEnd]; """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodStart'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodStart'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customer] DROP COLUMN [PeriodStart]; """, @@ -3536,11 +3512,10 @@ ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'IsVip'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'IsVip'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var2 + ';'); UPDATE [Customer] SET [IsVip] = CAST(0 AS bit) WHERE [IsVip] IS NULL; ALTER TABLE [Customer] ALTER COLUMN [IsVip] bit NOT NULL; @@ -3548,11 +3523,10 @@ FROM [sys].[default_constraints] [d] """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'IsVip'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'IsVip'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); UPDATE [HistoryTable] SET [IsVip] = CAST(0 AS bit) WHERE [IsVip] IS NULL; ALTER TABLE [HistoryTable] ALTER COLUMN [IsVip] bit NOT NULL; @@ -3626,11 +3600,10 @@ await Test( AssertSql( """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'IsVip'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'IsVip'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); UPDATE [Customers] SET [IsVip] = CAST(0 AS bit) WHERE [IsVip] IS NULL; ALTER TABLE [Customers] ALTER COLUMN [IsVip] bit NOT NULL; @@ -3719,11 +3692,10 @@ IF EXISTS (SELECT 1 FROM [sys].[tables] [t] INNER JOIN [sys].[partitions] [p] ON """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'MyColumn'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'MyColumn'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] ALTER COLUMN [MyColumn] int SPARSE NULL; """, @@ -3982,21 +3954,19 @@ ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'IdPlusFive'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'IdPlusFive'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customer] DROP COLUMN [IdPlusFive]; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'IdPlusFive'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'IdPlusFive'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [IdPlusFive]; """, @@ -4166,21 +4136,19 @@ ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Number'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customer] DROP COLUMN [Number]; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Number]; """, @@ -4446,21 +4414,19 @@ IF EXISTS (SELECT 1 FROM [sys].[tables] [t] INNER JOIN [sys].[partitions] [p] ON """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'MyColumn'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'MyColumn'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customer] ALTER COLUMN [MyColumn] int SPARSE NULL; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'MyColumn'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'MyColumn'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] ALTER COLUMN [MyColumn] int SPARSE NULL; """, @@ -4525,11 +4491,10 @@ await Test( AssertSql( """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'MyColumn'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'MyColumn'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customer] ALTER COLUMN [MyColumn] int NULL; """); @@ -4723,11 +4688,10 @@ await Test( AssertSql( """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Name'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customer] ALTER COLUMN [Name] nvarchar(450) NULL; DECLARE @defaultSchema2 AS sysname; @@ -4887,11 +4851,10 @@ await Test( AssertSql( """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -4958,11 +4921,10 @@ await Test( AssertSql( """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -5436,21 +5398,19 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Number]; """, @@ -5546,21 +5506,19 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Number]; """, @@ -5652,21 +5610,19 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Number]; """, @@ -5746,21 +5702,19 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Number]; """, @@ -5837,21 +5791,19 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Number]; """, @@ -6007,21 +5959,19 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'DateOfBirth'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'DateOfBirth'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [DateOfBirth]; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'DateOfBirth'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'DateOfBirth'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [DateOfBirth]; """, @@ -6412,11 +6362,10 @@ await Test( AssertSql( """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, @@ -6581,21 +6530,19 @@ ALTER TABLE [Customers] DROP PERIOD FOR SYSTEM_TIME """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [End]; """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Start]; """, @@ -6662,41 +6609,37 @@ ALTER TABLE [Customers] DROP PERIOD FOR SYSTEM_TIME """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [End]; """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Number]; """, // """ -DECLARE @var4 nvarchar(max); -SELECT @var4 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'); +DECLARE @var4 sysname; +SELECT @var4 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'; IF @var4 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var4 + ';'); ALTER TABLE [Customers] DROP COLUMN [Start]; """, @@ -6761,21 +6704,19 @@ ALTER TABLE [Customers] DROP PERIOD FOR SYSTEM_TIME """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [End]; """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Start]; """, @@ -6933,11 +6874,10 @@ await Test( """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, @@ -7126,21 +7066,19 @@ ALTER TABLE [Customers] DROP PERIOD FOR SYSTEM_TIME """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [End]; """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Start]; """, @@ -7328,21 +7266,19 @@ ALTER TABLE [Customers] DROP PERIOD FOR SYSTEM_TIME """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [End]; """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Start]; """, @@ -8059,21 +7995,19 @@ ALTER TABLE [Customers] DROP PERIOD FOR SYSTEM_TIME """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'PeriodEnd'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'PeriodEnd'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [PeriodEnd]; """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'PeriodStart'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'PeriodStart'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [PeriodStart]; """, @@ -8083,21 +8017,19 @@ FROM [sys].[default_constraints] [d] """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [Customers] ALTER COLUMN [Name] nvarchar(max) NOT NULL; """, // """ -DECLARE @var4 nvarchar(max); -SELECT @var4 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Id'); +DECLARE @var4 sysname; +SELECT @var4 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Id'; IF @var4 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var4 + ';'); ALTER TABLE [Customers] ALTER COLUMN [Id] int NOT NULL; """); @@ -8209,11 +8141,10 @@ await Test( AssertSql( """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'IsVip'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'IsVip'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [IsVip]; """); @@ -8664,11 +8595,10 @@ await TestComposite( """, // """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[RenamedCustomers]') AND [c].[name] = N'Number'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[RenamedCustomers]') AND [c].[name] = N'Number'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [RenamedCustomers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [RenamedCustomers] DROP COLUMN [Number]; """, @@ -9011,21 +8941,19 @@ ALTER TABLE [BrandNewCustomers] DROP PERIOD FOR SYSTEM_TIME """, // """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[BrandNewCustomers]') AND [c].[name] = N'SystemTimeEnd'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[BrandNewCustomers]') AND [c].[name] = N'SystemTimeEnd'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [BrandNewCustomers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [BrandNewCustomers] DROP COLUMN [SystemTimeEnd]; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[BrandNewCustomers]') AND [c].[name] = N'SystemTimeStart'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[BrandNewCustomers]') AND [c].[name] = N'SystemTimeStart'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [BrandNewCustomers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [BrandNewCustomers] DROP COLUMN [SystemTimeStart]; """, @@ -9035,11 +8963,10 @@ FROM [sys].[default_constraints] [d] """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[BrandNewCustomers]') AND [c].[name] = N'Extra'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[BrandNewCustomers]') AND [c].[name] = N'Extra'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [BrandNewCustomers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [BrandNewCustomers] DROP COLUMN [Extra]; """, @@ -9172,21 +9099,19 @@ ALTER TABLE [CustomersThree] DROP PERIOD FOR SYSTEM_TIME """, // """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[CustomersThree]') AND [c].[name] = N'SystemTimeEnd'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[CustomersThree]') AND [c].[name] = N'SystemTimeEnd'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [CustomersThree] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [CustomersThree] DROP COLUMN [SystemTimeEnd]; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[CustomersThree]') AND [c].[name] = N'SystemTimeStart'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[CustomersThree]') AND [c].[name] = N'SystemTimeStart'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [CustomersThree] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [CustomersThree] DROP COLUMN [SystemTimeStart]; """, @@ -9288,21 +9213,19 @@ ALTER TABLE [Customers] DROP PERIOD FOR SYSTEM_TIME """, // """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeEnd'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeEnd'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Customers] DROP COLUMN [SystemTimeEnd]; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeStart'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeStart'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [SystemTimeStart]; """, @@ -9388,21 +9311,19 @@ await TestComposite( """, // """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeEnd'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeEnd'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Customers] DROP COLUMN [SystemTimeEnd]; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeStart'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeStart'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [SystemTimeStart]; """); @@ -9486,21 +9407,19 @@ IF EXISTS (SELECT 1 FROM [sys].[tables] [t] INNER JOIN [sys].[partitions] [p] ON """, // """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'MyColumn'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'MyColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Customers] DROP COLUMN [MyColumn]; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[historySchema].[HistoryTable]') AND [c].[name] = N'MyColumn'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[historySchema].[HistoryTable]') AND [c].[name] = N'MyColumn'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [historySchema].[HistoryTable] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [historySchema].[HistoryTable] DROP COLUMN [MyColumn]; """, @@ -9578,11 +9497,10 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'MyColumn'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'MyColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var + ';'); UPDATE [Customers] SET [MyColumn] = 0 WHERE [MyColumn] IS NULL; ALTER TABLE [Customers] ALTER COLUMN [MyColumn] int NOT NULL; @@ -9590,11 +9508,10 @@ FROM [sys].[default_constraints] [d] """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[historySchema].[HistoryTable]') AND [c].[name] = N'MyColumn'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[historySchema].[HistoryTable]') AND [c].[name] = N'MyColumn'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [historySchema].[HistoryTable] DROP CONSTRAINT ' + @var1 + ';'); UPDATE [historySchema].[HistoryTable] SET [MyColumn] = 0 WHERE [MyColumn] IS NULL; ALTER TABLE [historySchema].[HistoryTable] ALTER COLUMN [MyColumn] int NOT NULL; @@ -9692,21 +9609,19 @@ IF EXISTS (SELECT 1 FROM [sys].[tables] [t] INNER JOIN [sys].[partitions] [p] ON """, // """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'MyColumn'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'MyColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Customers] DROP COLUMN [MyColumn]; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[historySchema].[HistoryTable]') AND [c].[name] = N'MyColumn'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[historySchema].[HistoryTable]') AND [c].[name] = N'MyColumn'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [historySchema].[HistoryTable] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [historySchema].[HistoryTable] DROP COLUMN [MyColumn]; """, @@ -9716,21 +9631,19 @@ ALTER TABLE [Customers] DROP PERIOD FOR SYSTEM_TIME """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeEnd'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeEnd'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [SystemTimeEnd]; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeStart'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeStart'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [Customers] DROP COLUMN [SystemTimeStart]; """, @@ -9880,21 +9793,19 @@ await TestComposite( """, // """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[modifiedDefaultSchema].[Customers]') AND [c].[name] = N'SystemTimeEnd'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[modifiedDefaultSchema].[Customers]') AND [c].[name] = N'SystemTimeEnd'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [modifiedDefaultSchema].[Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [modifiedDefaultSchema].[Customers] DROP COLUMN [SystemTimeEnd]; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[modifiedDefaultSchema].[Customers]') AND [c].[name] = N'SystemTimeStart'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[modifiedDefaultSchema].[Customers]') AND [c].[name] = N'SystemTimeStart'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [modifiedDefaultSchema].[Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [modifiedDefaultSchema].[Customers] DROP COLUMN [SystemTimeStart]; """); @@ -10229,21 +10140,19 @@ ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Name'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Name'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customer] ALTER COLUMN [Name] nvarchar(100) NULL; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[CustomerHistory]') AND [c].[name] = N'Name'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[CustomerHistory]') AND [c].[name] = N'Name'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [CustomerHistory] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [CustomerHistory] ALTER COLUMN [Name] nvarchar(100) NULL; """, @@ -10302,11 +10211,10 @@ await Test( AssertSql( """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Name'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customer] ADD DEFAULT N'DefaultName' FOR [Name]; """); @@ -10360,11 +10268,10 @@ await Test( AssertSql( """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Name'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customer] ADD DEFAULT N'NewDefault' FOR [Name]; """); @@ -10422,20 +10329,18 @@ ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'CreatedDate'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'CreatedDate'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var2 + ';'); """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[CustomerHistory]') AND [c].[name] = N'CreatedDate'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[CustomerHistory]') AND [c].[name] = N'CreatedDate'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [CustomerHistory] DROP CONSTRAINT ' + @var3 + ';'); """, // @@ -10499,21 +10404,19 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) """, // """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Name]; """, // """ -DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Name'); +DECLARE @var3 sysname; +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Name'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Name]; """, diff --git a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.cs index 655c1d30cfb..3106a815ca8 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.cs @@ -1095,11 +1095,10 @@ public override async Task Alter_column_change_type() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [SomeColumn] bigint NOT NULL; """); @@ -1111,11 +1110,10 @@ public override async Task Alter_column_make_required() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); UPDATE [People] SET [SomeColumn] = N'' WHERE [SomeColumn] IS NULL; ALTER TABLE [People] ALTER COLUMN [SomeColumn] nvarchar(max) NOT NULL; @@ -1129,11 +1127,10 @@ public override async Task Alter_column_make_required_with_null_data() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); UPDATE [People] SET [SomeColumn] = N'' WHERE [SomeColumn] IS NULL; ALTER TABLE [People] ALTER COLUMN [SomeColumn] nvarchar(max) NOT NULL; @@ -1149,11 +1146,10 @@ public override async Task Alter_column_make_required_with_index() AssertSql( """ DROP INDEX [IX_People_SomeColumn] ON [People]; -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); UPDATE [People] SET [SomeColumn] = N'' WHERE [SomeColumn] IS NULL; ALTER TABLE [People] ALTER COLUMN [SomeColumn] nvarchar(450) NOT NULL; @@ -1170,11 +1166,10 @@ public override async Task Alter_column_make_required_with_composite_index() AssertSql( """ DROP INDEX [IX_People_FirstName_LastName] ON [People]; -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); UPDATE [People] SET [FirstName] = N'' WHERE [FirstName] IS NULL; ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NOT NULL; @@ -1191,11 +1186,10 @@ public override async Task Alter_column_make_computed(bool? stored) AssertSql( $""" -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [Sum]; ALTER TABLE [People] ADD [Sum] AS [X] + [Y]{computedColumnTypeSql}; @@ -1208,11 +1202,10 @@ public override async Task Alter_column_change_computed() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [Sum]; ALTER TABLE [People] ADD [Sum] AS [X] - [Y]; @@ -1226,11 +1219,10 @@ public override async Task Alter_column_change_computed_recreates_indexes() AssertSql( """ DROP INDEX [IX_People_Sum] ON [People]; -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [Sum]; ALTER TABLE [People] ADD [Sum] AS [X] - [Y]; @@ -1247,11 +1239,10 @@ public override async Task Alter_column_change_computed_type() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [Sum]; ALTER TABLE [People] ADD [Sum] AS [X] + [Y] PERSISTED; @@ -1264,11 +1255,10 @@ public override async Task Alter_column_make_non_computed() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [Sum]; ALTER TABLE [People] ADD [Sum] int NOT NULL; @@ -1342,11 +1332,10 @@ public override async Task Alter_column_set_collation() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(max) COLLATE German_PhoneBook_CI_AS NULL; """); @@ -1374,11 +1363,10 @@ await Test( AssertSql( """ DROP INDEX [IX_People_Name] ON [People]; -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) COLLATE German_PhoneBook_CI_AS NULL; CREATE INDEX [IX_People_Name] ON [People] ([Name]); @@ -1392,11 +1380,10 @@ public override async Task Alter_column_reset_collation() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(max) NULL; """); @@ -1408,21 +1395,19 @@ public override async Task Convert_json_entities_to_regular_owned() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedCollection'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedCollection'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Entity] DROP COLUMN [OwnedCollection]; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Entity] DROP COLUMN [OwnedReference]; """, @@ -1486,21 +1471,19 @@ public override async Task Convert_regular_owned_entities_to_json() """, // """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference_Date'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference_Date'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Entity] DROP COLUMN [OwnedReference_Date]; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference_NestedReference_Number'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference_NestedReference_Number'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Entity] DROP COLUMN [OwnedReference_NestedReference_Number]; """, @@ -1527,11 +1510,10 @@ public override async Task Convert_string_column_to_a_json_column_containing_req AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var + ';'); UPDATE [Entity] SET [Name] = N'{}' WHERE [Name] IS NULL; ALTER TABLE [Entity] ALTER COLUMN [Name] nvarchar(max) NOT NULL; @@ -1575,11 +1557,10 @@ await Test( AssertSql( """ DROP INDEX [IX_People_SomeColumn] ON [People]; -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); UPDATE [People] SET [SomeColumn] = N'' WHERE [SomeColumn] IS NULL; ALTER TABLE [People] ALTER COLUMN [SomeColumn] nvarchar(450) NOT NULL; @@ -1616,11 +1597,10 @@ await Test( AssertSql( """ ALTER TABLE [People] DROP INDEX [IX_People_Name]; -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(30) NULL; ALTER TABLE [People] ADD INDEX [IX_People_Name] NONCLUSTERED ([Name]); @@ -1649,11 +1629,10 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; """); @@ -1688,11 +1667,10 @@ await Test( AssertSql( """ DROP INDEX [IX_People_FirstName_LastName] ON [People]; -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(30) NULL; CREATE INDEX [IX_People_FirstName_LastName] ON [People] ([FirstName], [LastName]) INCLUDE ([Name]); @@ -1745,11 +1723,10 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'IdentityColumn'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'IdentityColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [IdentityColumn] bigint NOT NULL; """); @@ -1790,11 +1767,10 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ADD DEFAULT N'Doe' FOR [Name]; """); @@ -1841,11 +1817,10 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeProperty'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeProperty'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [SomeProperty] nvarchar(max) SPARSE NULL; """); @@ -1857,11 +1832,10 @@ public override async Task Drop_column() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [SomeColumn]; """); @@ -1877,11 +1851,10 @@ public override async Task Drop_column_primary_key() """, // """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Id'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Id'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [Id]; """); @@ -1893,21 +1866,19 @@ public override async Task Drop_column_computed_and_non_computed_with_dependency AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Y'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Y'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [Y]; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'X'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'X'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [People] DROP COLUMN [X]; """); @@ -1919,21 +1890,19 @@ public override async Task Drop_json_columns_from_existing_table() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedCollection'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedCollection'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Entity] DROP COLUMN [OwnedCollection]; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Entity] DROP COLUMN [OwnedReference]; """); @@ -1969,11 +1938,10 @@ public override async Task Create_index() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NULL; """, @@ -1989,21 +1957,19 @@ public override async Task Create_index_unique() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'LastName'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'LastName'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [LastName] nvarchar(450) NULL; """, // """ -DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'); +DECLARE @var1 sysname; +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NULL; """, @@ -2067,11 +2033,10 @@ public override async Task Create_index_with_filter() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -2104,11 +2069,10 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -2124,11 +2088,10 @@ public override async Task Create_unique_index_with_filter() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -2155,11 +2118,10 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NULL; """, @@ -2188,11 +2150,10 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NULL; """, @@ -2229,11 +2190,10 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -2272,11 +2232,10 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -2315,11 +2274,10 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; """, @@ -2360,11 +2318,10 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; """, @@ -2408,11 +2365,10 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; """, @@ -2457,11 +2413,10 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; """, @@ -2504,11 +2459,10 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; """, @@ -2552,11 +2506,10 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; """, @@ -2603,11 +2556,10 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; """, @@ -2644,11 +2596,10 @@ await Test( AssertSql( """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -2683,11 +2634,10 @@ await Test( AssertSql( """ -DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +DECLARE @var2 sysname; +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -3401,11 +3351,10 @@ public override async Task Add_primary_key_string() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeField'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeField'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [SomeField] nvarchar(450) NOT NULL; """, @@ -3421,11 +3370,10 @@ public override async Task Add_primary_key_with_name() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeField'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeField'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); UPDATE [People] SET [SomeField] = N'' WHERE [SomeField] IS NULL; ALTER TABLE [People] ALTER COLUMN [SomeField] nvarchar(450) NOT NULL; @@ -3531,11 +3479,10 @@ public override async Task Drop_primary_key_string() """, // """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeField'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeField'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [SomeField] nvarchar(max) NOT NULL; """); @@ -3893,11 +3840,10 @@ await Test( AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SeqProp'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SeqProp'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [SeqProp]; """, diff --git a/test/EFCore.SqlServer.FunctionalTests/Migrations/SqlServerMigrationsSqlGeneratorTest.cs b/test/EFCore.SqlServer.FunctionalTests/Migrations/SqlServerMigrationsSqlGeneratorTest.cs index f35ef7fd416..e1690184b56 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Migrations/SqlServerMigrationsSqlGeneratorTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Migrations/SqlServerMigrationsSqlGeneratorTest.cs @@ -306,11 +306,10 @@ public override void AlterColumnOperation_without_column_type() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'LuckyNumber'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'LuckyNumber'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [LuckyNumber] int NOT NULL; """); @@ -341,11 +340,10 @@ public virtual void AlterColumnOperation_with_identity_legacy() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Id'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Id'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Id] int NOT NULL; """); @@ -374,11 +372,10 @@ public virtual void AlterColumnOperation_with_index_no_oldColumn() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Person] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Person] ALTER COLUMN [Name] nvarchar(30) NULL; """); @@ -413,11 +410,10 @@ public virtual void AlterColumnOperation_with_added_index() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Person] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Person] ALTER COLUMN [Name] nvarchar(30) NULL; GO @@ -454,11 +450,10 @@ public virtual void AlterColumnOperation_with_added_index_no_oldType() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Person] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Person] ALTER COLUMN [Name] nvarchar(450) NULL; GO @@ -487,11 +482,10 @@ public virtual void AlterColumnOperation_identity_legacy() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Id'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Id'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Person] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Person] ALTER COLUMN [Id] bigint NOT NULL; """); @@ -1869,11 +1863,10 @@ public virtual void AlterColumn_make_required_with_idempotent() AssertSql( """ -DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Name'); +DECLARE @var sysname; +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Person] DROP CONSTRAINT ' + @var + ';'); EXEC(N'UPDATE [Person] SET [Name] = N'''' WHERE [Name] IS NULL'); ALTER TABLE [Person] ALTER COLUMN [Name] nvarchar(max) NOT NULL;