DB2 LUW检查两个表的列的定义是否相同

SELECT COLNAME,
       COLNO,
       TYPENAME,
       LENGTH,
       SCALE,
       NULLS
  FROM SYSCAT.COLUMNS
 WHERE TABSCHEMA = 'FCTMDT9' AND TABNAME = 'CTMTCAR'
EXCEPT
SELECT COLNAME,
       COLNO,
       TYPENAME,
       LENGTH,
       SCALE,
       NULLS
  FROM SYSCAT.COLUMNS
 WHERE TABSCHEMA = 'FCTMDT9' AND TABNAME = 'CTMTQCR'
  WITH UR;

SELECT COLNAME,
       COLNO,
       TYPENAME,
       LENGTH,
       SCALE,
       NULLS
  FROM SYSCAT.COLUMNS
 WHERE TABSCHEMA = 'FCTMDT9' AND TABNAME = 'CTMTQCR'
EXCEPT
SELECT COLNAME,
       COLNO,
       TYPENAME,
       LENGTH,
       SCALE,
       NULLS
  FROM SYSCAT.COLUMNS
 WHERE TABSCHEMA = 'FCTMDT9' AND TABNAME = 'CTMTCAR'
  WITH UR;

这里没有考虑到default值,generated columns等因素,在实际应用中应该考虑到。

请使用浏览器的分享功能分享到微信等