Skip to content

Commit 2e1d5d3

Browse files
committed
MSSQL - Create Comments
1 parent 33b166d commit 2e1d5d3

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

QueryDB.Core.Tests/MSSQLTests.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,19 +316,31 @@ public void Test_MSSQL_ExecuteDDL_Queries()
316316
{
317317
var createTableSql = Queries.MSSQLQueries.TestDB.DDL.Create_Table;
318318
var alterTableSql = Queries.MSSQLQueries.TestDB.DDL.Alter_Table;
319+
var commentTableSql = Queries.MSSQLQueries.TestDB.DDL.Comment_Table;
320+
var commentTableColumnSql = Queries.MSSQLQueries.TestDB.DDL.Comment_Table_Column;
319321
var truncateTableSql = Queries.MSSQLQueries.TestDB.DDL.Truncate_Table;
320322
var renameTableSql = Queries.MSSQLQueries.TestDB.DDL.Rename_Table;
321323
var dropTableSql = Queries.MSSQLQueries.TestDB.DDL.Drop_Table;
322324
var dDLExecutionCheckSql = Queries.MSSQLQueries.TestDB.DDL.DDL_Execute_check;
325+
var dDLTableCommentCheckSql = Queries.MSSQLQueries.TestDB.DDL.DDL_Table_Comment_check;
326+
var dDLTableColumnCommentCheckSql = Queries.MSSQLQueries.TestDB.DDL.DDL_Table_Column_Comment_check;
323327

324328
var dbContext = new DBContext(DB.MSSQL, MSSQLConnectionString);
325329
dbContext.ExecuteDDL(createTableSql);
326330
dbContext.ExecuteDDL(alterTableSql);
331+
dbContext.ExecuteDDL(commentTableSql);
332+
dbContext.ExecuteDDL(commentTableColumnSql);
327333
dbContext.ExecuteDDL(truncateTableSql);
328334

329335
var tableCount = dbContext
330336
.FetchData(string.Format(dDLExecutionCheckSql, "dbo", "Employee"));
331337
Assert.AreEqual("1", tableCount[0].ReferenceData["Table_Count"]);
338+
var tableComment = dbContext
339+
.FetchData(string.Format(dDLTableCommentCheckSql, "dbo", "Employee"));
340+
Assert.AreEqual("This table stores employee records", tableComment[0].ReferenceData["Table_Comment"]);
341+
var tableColumnComment = dbContext
342+
.FetchData(string.Format(dDLTableColumnCommentCheckSql, "dbo", "Employee"));
343+
Assert.AreEqual("This column stores employee middle name", tableColumnComment[0].ReferenceData["Table_Column_Comment"]);
332344

333345
dbContext.ExecuteDDL(renameTableSql);
334346

QueryDB.Core.Tests/Queries.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,14 @@ internal static class DDL
2525
{
2626
internal static string Create_Table = @"CREATE TABLE Employee (EmployeeID INT PRIMARY KEY, FirstName NVARCHAR(50), LastName NVARCHAR(50))";
2727
internal static string Alter_Table = @"ALTER TABLE Employee ADD MiddleName VARCHAR(50)";
28+
internal static string Comment_Table = @"EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'This table stores employee records', @level0type = N'SCHEMA', @level0name = 'dbo', @level1type = N'TABLE', @level1name = 'Employee'";
29+
internal static string Comment_Table_Column = @"EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'This column stores employee middle name', @level0type = N'SCHEMA', @level0name = 'dbo', @level1type = N'TABLE', @level1name = 'Employee', @level2type = N'COLUMN', @level2name = 'MiddleName'";
2830
internal static string Truncate_Table = @"TRUNCATE TABLE Employee";
2931
internal static string Rename_Table = @"EXEC SP_RENAME Employee, Employees";
3032
internal static string Drop_Table = @"DROP TABLE Employees";
3133
internal static string DDL_Execute_check = @"SELECT COUNT(*) AS Table_Count FROM Information_Schema.Tables WHERE LOWER(Table_Schema) = LOWER('{0}') AND LOWER(Table_Name) = LOWER('{1}')";
34+
internal static string DDL_Table_Comment_check = @"SELECT value AS Table_Comment FROM fn_listextendedproperty(NULL, 'SCHEMA', '{0}', 'TABLE', '{1}', NULL, NULL)";
35+
internal static string DDL_Table_Column_Comment_check = @"SELECT value AS Table_Column_Comment FROM fn_listextendedproperty(NULL, 'SCHEMA', '{0}', 'TABLE', '{1}', 'COLUMN', 'MiddleName')";
3236
}
3337
}
3438
}

0 commit comments

Comments
 (0)