2014-10-27 154 views
0

我们正在从SQL Server迁移到Teradata数据库。所有视图和表都被迁移。但问题是我们无法从每个表格中收集评论。SQL Server到Teradata迁移

在SQL Server中,我们有一个名为扩展属性的函数,如果使用它将从相应的表/视图中获得注释。 Badhri帮助提供了以相同的方式提取Teradata中的评论的查询,但它无法以预期的方式工作。

我尝试在列中插入示例注释,下面的查询没有获取确切的结果。你能帮忙吗?

示例查询:

COMMENT ON COLUMN UtilityApp_DB.SQL_Views_Columns.ColumnNAME 'A Columnname for SQL Server!'; 

select 'COMMENT ON COLUMN '||trim(b.databasename)||'.'||trim(b.tablename) ||'.'||trim(b.columnname)||' IS '||''''||trim(b.commentstring)||''';'         
        FROM DBC.Columns b 
    WHERE b.CommentString IS NOT NULL 
     AND DatabaseName='UtilityApp_DB' 
    AND TableName in ('UtilityApp_DB.SQL_Views_Columns'); 

我创建了一个表,并试图通过复制DBC列结构但我仍然不能得到的评论串中插入表格中的注释字符串的值。

insert into UtilityApp_DB.commentstable (commentstring) values ('UtilityApp_DB.SQL_Views_Columns'); 

回答

0

DBC.ColumnsTableName不包括在你的字符串连接数据库名称和IS应该是AS

SELECT 'COMMENT ON COLUMN '||trim(b.databasename)||'.'||trim(b.tablename) ||'.'||trim(b.columnname)||' AS '||''''||trim(b.commentstring)||''';' 
    FROM DBC.Columns 
WHERE DatabaseName = 'UtilityApp_DB' 
    AND TableName IN ('SQL_Views_Columns');