我在MSCRM中有一个活动实体的错误。我有活动guid,但不幸的是,多个实体被认为是活动,因此它可以出现在任何这些表上,包括可能是自定义表。因此,我希望这样一个SQL查询来选择TableName、ColumnName和ColumnValue,其中ColumnName类似于'%id‘。我有这样的选项,即按名称选择列,但我不知道如何从中获得值。
select * from INFORMATION_SCHEMA.COLUMNS
where COLUMN_NAME like '%id'
order by TABLE_NAME我没有创建过程的权限
发布于 2017-05-25 23:02:10
稍微动态一点SQL可能会有所帮助。
您可能会注意到,为了避免冗余信息,我排除了视图(我使用视图的命名约定). Table_Name not like 'vw_%'您可以通过连接到INFORMATION_SCHEMA.Tables排除视图
示例
Declare @SQL varchar(max)
Set @SQL=Stuff((Select 'Union All ' +Expr
From (
Select Expr = 'Select Table_Schema='''+Table_Schema+''',Table_Name='''+Table_Name+''',Column_Name='''+Column_Name+''',Value=cast('+Column_Name+' as varchar(max)) From '+quotename(Table_Schema)+'.'+quoteName(Table_Name)+' '
From INFORMATION_SCHEMA.COLUMNS
Where COLUMN_NAME like '%id'
and Table_Name not like 'vw_%'
) A
For XML Path ('')),1,10,'')
Exec(@SQL)返回

https://stackoverflow.com/questions/44190842
复制相似问题