public override string GetUniqueKeysSql(MetaInfoTable table)
        {
            ISqlStringBuilder sql = Importer.Genie.Lamp.GenieLampUtils.GetSqlStringBuilder();

            sql.Select("C.OWNER AS {0}", SqlColName_Schema);
            sql.Select("C.CONSTRAINT_NAME AS {0}", SqlColName_ConstraintName);
            sql.Select("CC.POSITION AS {0}", SqlColName_ColumnPosition);
            sql.Select("C.INDEX_OWNER AS {0}", SqlColName_IndexOwner);
            sql.Select("C.INDEX_NAME AS {0}", SqlColName_IndexName);
            sql.Select("CC.COLUMN_NAME AS {0}", SqlColName_ColumnName);
            sql.From("ALL_CONSTRAINTS C");
            sql.From("INNER JOIN ALL_CONS_COLUMNS CC ON C.OWNER = CC.OWNER AND C.CONSTRAINT_NAME = CC.CONSTRAINT_NAME");
            sql.WhereAnd("C.OWNER='{0}'", table.PersistentSchema);
            sql.WhereAnd("C.TABLE_NAME='{0}'", table.PersistentName);
            sql.WhereAnd("C.CONSTRAINT_TYPE='U'");
            sql.UnionAll();
            sql.Select("I.OWNER AS {0}", SqlColName_Schema);
            sql.Select("I.INDEX_NAME AS {0}", SqlColName_ConstraintName);
            sql.Select("IC.COLUMN_POSITION AS {0}", SqlColName_ColumnPosition);
            sql.Select("I.OWNER AS {0}", SqlColName_IndexOwner);
            sql.Select("I.INDEX_NAME AS {0}", SqlColName_IndexName);
            sql.Select("IC.COLUMN_NAME AS {0}", SqlColName_ColumnName);
            sql.From("ALL_INDEXES I");
            sql.From("INNER JOIN ALL_IND_COLUMNS IC ON I.OWNER = IC.INDEX_OWNER AND I.INDEX_NAME = IC.INDEX_NAME");
            sql.From("LEFT OUTER JOIN ALL_CONSTRAINTS C ON I.OWNER = C.OWNER AND I.INDEX_NAME = C.INDEX_NAME");
            sql.WhereAnd("I.OWNER='{0}'", table.PersistentSchema);
            sql.WhereAnd("I.TABLE_NAME='{0}'", table.PersistentName);
            sql.WhereAnd("I.UNIQUENESS = 'UNIQUE'");
            sql.WhereAnd("C.INDEX_NAME IS NULL");
            sql.OrderBy("1 ASC, 2 ASC, 3 ASC");
            return(sql.ToString());
        }