1
存储过程返回动态创建的表数据
简而言之,我们正在与具有调查系统的外部供应商合作。该系统不一定设计得最好,因为当您创建新调查并创建新表时,即: Tables ____ Library_1 -- table for Survey 1 SurveyId int InstanceId int Q_1 varchar(50) Library_2 -- table for Survey 2 SurveyId int InstanceId int Q_2 int Q_3 int Q_4 varchar(255) 这些表用所生成的SurveyId在名称的末尾(Library_)和问题列与所产生的QuestionId在它(结束Q_)。 为了明确起见,问题存储在单独的表中,因此尽管问题ID是连续的,但对于每个调查来说,问题ID都不从1开始。问题列将基于表中分配给它们的ID。 看起来查询起来非常简单,除了我们需要从所有调查表中提取数据以发送到另一个系统外,这就是问题所在。由于这些表是在前台添加新调查时自动创建的,最终应用程序,其他系统无法处理这种类型的结构。他们需要数据是一致的以便消费。 因此,我的任务是编写一个存储过程,该过程将从所有Survey表中提取数据并将其放置为以下格式: SurveyId InstanceId QNumber Response ________ __________ _______ ________ 1 1 1 great 1 2 1 …