2014-10-27 197 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');