SQL Server到Teradata迁移

时间:2014-10-27 02:59:47

标签: sql-server teradata database-migration

我们正在从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 Columns结构在表中插入注释字符串的值,但仍然无法获取注释字符串。

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

1 个答案:

答案 0 :(得分:0)

TableName中的

DBC.Columns不包含数据库名称,字符串连接中的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');