You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
使用复合主键会生成多个字段,建议更换一下sql语句
DbTool.DbProvider.SqlServer中使用的sql语句替换为下面的sql语句可以正常获取主键的值
SELECT t.[name] AS TableName, c.[name] AS ColumnName, p.[value] AS ColumnDescription, c.[is_nullable] AS IsNullable, IIF(m.columnName IS NULL, 0, 1) AS IsPrimaryKey, ty.[name] AS DataType, IIF([col].[CHARACTER_MAXIMUM_LENGTH] IS NULL, [c].[max_length], [col].[CHARACTER_MAXIMUM_LENGTH]) AS Size, SUBSTRING(dc.[definition], 2, LEN([dc].[definition]) - 2) AS DefaultValue FROM sys.columns c JOIN sys.tables t ON c.object_id = t.object_id JOIN sys.[types] ty ON ty.[system_type_id] = c.[system_type_id] AND ty.[name] != 'sysname' JOIN INFORMATION_SCHEMA.COLUMNS col ON c.name = col.COLUMN_NAME AND t.[name] = col.TABLE_NAME LEFT JOIN sys.extended_properties p ON p.minor_id = c.column_id AND p.major_id = c.object_id LEFT JOIN [sys].[default_constraints] dc ON dc.[parent_object_id] = c.[object_id] AND dc.[parent_column_id] = c.[column_id] AND dc.[type] = 'D' LEFT JOIN ( SELECT o.name AS tableName, c.name AS columnName FROM sysindexes i JOIN sysindexkeys k ON i.id = k.id AND i.indid = k.indid JOIN sysobjects o ON i.id = o.id JOIN syscolumns c ON i.id = c.id AND k.colid = c.colid WHERE o.xtype = 'U' AND o.name = @tableName AND EXISTS ( SELECT 1 FROM sysobjects WHERE xtype = 'PK' AND name = i.name ) ) m ON m.tableName = @tableName AND m.columnName = c.name WHERE t.name = @tableName ORDER BY c.[column_id];
The text was updated successfully, but these errors were encountered:
使用复合主键会生成多个字段,建议更换一下sql语句
DbTool.DbProvider.SqlServer中使用的sql语句替换为下面的sql语句可以正常获取主键的值
SELECT t.[name] AS TableName, c.[name] AS ColumnName, p.[value] AS ColumnDescription, c.[is_nullable] AS IsNullable, IIF(m.columnName IS NULL, 0, 1) AS IsPrimaryKey, ty.[name] AS DataType, IIF([col].[CHARACTER_MAXIMUM_LENGTH] IS NULL, [c].[max_length], [col].[CHARACTER_MAXIMUM_LENGTH]) AS Size, SUBSTRING(dc.[definition], 2, LEN([dc].[definition]) - 2) AS DefaultValue FROM sys.columns c JOIN sys.tables t ON c.object_id = t.object_id JOIN sys.[types] ty ON ty.[system_type_id] = c.[system_type_id] AND ty.[name] != 'sysname' JOIN INFORMATION_SCHEMA.COLUMNS col ON c.name = col.COLUMN_NAME AND t.[name] = col.TABLE_NAME LEFT JOIN sys.extended_properties p ON p.minor_id = c.column_id AND p.major_id = c.object_id LEFT JOIN [sys].[default_constraints] dc ON dc.[parent_object_id] = c.[object_id] AND dc.[parent_column_id] = c.[column_id] AND dc.[type] = 'D' LEFT JOIN ( SELECT o.name AS tableName, c.name AS columnName FROM sysindexes i JOIN sysindexkeys k ON i.id = k.id AND i.indid = k.indid JOIN sysobjects o ON i.id = o.id JOIN syscolumns c ON i.id = c.id AND k.colid = c.colid WHERE o.xtype = 'U' AND o.name = @tableName AND EXISTS ( SELECT 1 FROM sysobjects WHERE xtype = 'PK' AND name = i.name ) ) m ON m.tableName = @tableName AND m.columnName = c.name WHERE t.name = @tableName ORDER BY c.[column_id];
The text was updated successfully, but these errors were encountered: