2017-05-25 2 views
2

Ich habe einen Fehler in MSCRM mit einer Aktivitätsentität. Ich habe die Activity Guid, aber unglücklicherweise werden mehrere Entitäten als Aktivitäten betrachtet, so dass sie in jeder dieser Tabellen enthalten sein könnten, einschließlich vielleicht benutzerdefinierter Tabellen. Ich möchte also eine SQL-Abfrage, um den TableName, ColumnName und ColumnValue auszuwählen, wobei ColumnName wie '% id' ist. Ich habe diese, die die Spalten mit dem Namen ist die Auswahl aber ich kann nicht herausfinden, wie der Wert bekommen von diesemSQL Wählen TableName, ColumnName und ColumnValue

select * from INFORMATION_SCHEMA.COLUMNS 
where COLUMN_NAME like '%id' 
order by TABLE_NAME 

Ich habe keine Berechtigungen proceedures erstellen

+0

Das information_schema speichert nur Metadaten, aus denen Sie die Werte in den Tabellen nicht erhalten. Abfrage der tatsächlichen Tabellen ... – fancyPants

+0

Ich muss aber auch den Tabellennamen abfragen. Es muss den Tabellennamen und den Spaltennamen jeder Spalte mit einem Namen erhalten, der '% id' entspricht. –

+0

Sorry und der Wert von 'irgendwas' –

Antwort

2

Ein wenig dynamische SQL helfen können.

Sie werden feststellen, dass ich Ansichten redundante Informationen (ich benutze eine Namenskonvention für Ansichten) ... Table_Name not like 'vw_%' Sie können ausschließen Ansichten mit einer Verknüpfung zu INFORMATION_SCHEMA.Tables

Beispiel

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) 
zu vermeiden ausgeschlossen Returns

enter image description here

Verwandte Themen