Ich würde die Catalog View SYSCOLUMNS verwenden. (Auf die QADB... Tabellen, hat nicht jeder Zugriff!)
Für den Abgleich, würde ich die Catalog-View mehrfach über FULL JOINS verknüpfen und dann die Abweichungen über Case-Anweisungen ermitteln (und ggf. filtern) etwa so:
Falls die abweichenden Datensätze ermittelt werden sollten, kann dies mit Hilfe der EXCEPT-Klausel erfolgen:Code:Select Coalesce(a.Table_Schema, b.Table_Schema) Schema, Coalesce(a.Table_Name, b.Table_Name) Table, Coalesce(a.Column_Name, b.Column_Name) Column, Case When a.Data_Type <> b.Data_Type Then 'DataType' Else '' End DiffType, Case When a.Length <> b.Length Then 'Length' Else '' End DiffLength, Case When a.Numeric_Scale is Distinct from b.Numeric_Scale Then 'Numeric Scale' Else '' End DiffNumScale, .... From (Select * From SysColumns Where System_Table_Name = 'YOUR1TABLE' and System_Table_Schema = 'SCHEMA1') a Full Join (Select * From SysColumns Where System_Table_Name = 'YOUR2TABLE' and System_Table_Schema = 'SCHEMA2') b on a.System_Column_Name = b.System_Column_Name
BirgittaCode:Select Col1, Col2, ... ColN From SCHEMA1.YOUR1TABLE Except Select Col1, Col2, ... ColN From SCHEMA2.YOUR2TABLE
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks