如何在Teradata SQL辅助中将表的数据导出为插入查询

时间:2016-02-25 11:13:48

标签: sql teradata

我是Teradata的新手。 我有一张包含大约600条记录的表格。 我想获取这些记录的插入查询。在oracle SQL开发人员我曾经导出它,并有一个选项作为“插入查询”。我如何在Teradata SQL辅助中实现这一目标?

提前致谢

2 个答案:

答案 0 :(得分:1)

没有内置方法可以使用SQL Assistant为结果集中的所有行获取INSERT。

有一个丑陋的解决方法使用CSV - UDF,如:

WITH cte AS 
 (  -- put your select here
   SELECT * FROM dbc.tablesV
 )
SELECT * 
FROM TABLE
 (CSV(NEW VARIANT_TYPE( -- you need to list each column of your table
       cte.DataBaseName                  
      ,cte.TABLENAME                     
      ,cte.Version                       
      ,cte.TableKind                     
      ,cte.ProtectionType                
      ,cte.JournalFlag                   
      ,cte.CreatorName                   
      ,cte.RequestText                   
      ,cte.CommentString                 
      ,cte.ParentCount                   
      ,cte.ChildCount                    
      ,cte.NamedTblCheckCount            
      ,cte.UnnamedTblCheckExist          
      ,cte.PrimaryKeyIndexId             
      ,cte.RepStatus                     
      ,cte.CreateTimeStamp               
      ,cte.LastAlterName                 
      ,cte.LastAlterTimeStamp            
      ,cte.RequestTxtOverflow            
      ,cte.AccessCount                   
      ,cte.LastAccessTimeStamp           
      ,cte.UtilVersion                   
      ,cte.QueueFlag                     
      ,cte.CommitOpt                     
      ,cte.TransLog                      
      ,cte.CheckOpt                      
      ,cte.TemporalProperty              
      ,cte.ResolvedCurrent_Date          
      ,cte.ResolvedCurrent_Timestamp     
      ,cte.SystemDefinedJI               
      ,cte.VTQualifier                   
      ,cte.TTQualifier                   
      ,cte.PIColumnCount                 
      ,cte.PartitioningLevels            
      ,cte.LoadProperty                  
      ,cte.CurrentLoadId                 
      ,cte.LoadIdLayout                  
      ,cte.DelayedJI                     
     ), ',', '"')
   RETURNS (op VARCHAR(32000) CHARACTER SET UNICODE)
 ) AS dt;

否则你必须使用不同的工具......

答案 1 :(得分:1)

由于您只有600条记录,因此从SQL *助手导出到Excel或Access并使用Office工具操作它们会更容易。

另一种选择 - 将Teradata连接为SQL Server Management Studio中的链接服务器,并使用函数"脚本作为插入"从里面。