我搜索了很多地方,很少使用论坛发帖......所以我相信我在这里遇到了一个罕见的问题。我有一个包含一对多关系的 csv 文件。比如说,前 10 个字段包含一条记录。这继续到一个空白字段,然后在每个附加字段中是另一个分隔符,它是一个包含字段的管道。这实际上是与单个呼叫相关的事件的日志文件。
例如。
ID;MACHINEID;ANI;; 命令|参数|20120112.06:15:32
粗体文本可以重复多次或几次。这是 SQL 连接的多方面。我需要把它恢复到 SQL 中。我在想 SSIS 脚本块。我在其中循环并从一侧添加到带有 ID 的多个表中。使用管道作为分隔符拆分内部字段。我只是想知道是否有人以前见过这个并且有一个我可能不知道的简单解决方案。我想这会更好地用 XML 创建,但事实并非如此。
任何帮助表示赞赏。如果它主要是建设性的,我什至会接受批评。提前非常感谢。
展示餐桌妆容
CREATE TABLE [dbo].[tblIVRCalls](
[CALLID] [char](50) NOT NULL,
[MACHINEID] [char](50) NOT NULL,
[CHANNEL] [char](50) NOT NULL,
[DNIS] [char](50) NOT NULL,
[ANI] [char](50) NOT NULL,
[STARTTIME] [smalldatetime] NOT NULL,
[TRUNK] [char](50) NOT NULL,
[APPLICATION] [char](50) NULL,
[PLANID] [char](50) NULL,
[DERIVEDID] [char](50) NULL,
[TOTALTIME] [smalldatetime] NOT NULL,
CONSTRAINT [PK_tblIVRCalls] PRIMARY KEY CLUSTERED
CREATE TABLE [dbo].[IVRCallActions](
[pk] [bigint] IDENTITY(1,1) NOT NULL,
[fkCALLID] [char](50) NOT NULL,
[SequenceNumber] [bigint] NOT NULL,
[Command] [char](50) NOT NULL,
[Arguments] [varchar](max) NOT NULL,
[ExecutionTime] [datetime] NOT NULL,
CONSTRAINT [PK_IVRCallActions] PRIMARY KEY CLUSTERED