【发布时间】:2016-02-26 09:44:23
【问题描述】:
我是 Teradata 的新手。 我有一个包含大约 600 条记录的表。 我想获取这些记录的插入查询。在 oracle SQL 开发人员中,我曾经将其导出,并且有一个选项为“插入查询”。如何在 Teradata SQL 帮助中实现这一点?
提前致谢
【问题讨论】:
我是 Teradata 的新手。 我有一个包含大约 600 条记录的表。 我想获取这些记录的插入查询。在 oracle SQL 开发人员中,我曾经将其导出,并且有一个选项为“插入查询”。如何在 Teradata SQL 帮助中实现这一点?
提前致谢
【问题讨论】:
没有内置方法可以使用 SQL 助手为结果集中的所有行获取 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;
否则你必须使用不同的工具...
【讨论】:
由于您只有 600 条记录,将 SQL*Assistant 导出到 Excel 或 Access 并使用 Office 工具进行操作不是更容易吗?
另一种选择 - 在 SQL Server Management Studio 中将 Teradata 连接为链接服务器,并在其中使用“脚本作为插入”功能。
【讨论】: