我们正在从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');
答案 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');