批量插入查询需要多个集合帮助

时间:2015-06-15 19:28:17

标签: sql sql-server

我正在开发一个应用程序,我想写一个已请求的日志数据。

目前我根据已经传入我的程序的学生ID加载学生数据。

然后我尝试根据请求加载学生的子数据,例如 技能,爱好,语言,成绩等等。这些在我的存储过程中作为单独的集合传递。

在为每个学生加载完所有内容之后,我必须记录他们的学生ID和相应的关于子数据的静态子数据标识符,例如,技能的ID为45,爱好​​的ID为46等。静态子标识符所有学生都一样。

该表可以为该学生提供多条记录(基于所请求的内容并提供该记录),这很好:

表格结构  test_bulk

  • Id(PK)
  • student_id数据(FK)
  • StudentBioId - 可以为null

我想就我想写的代码提出一些建议。我传递了两个varrays,一个有学生标识符,另一个有与该学生请求的子数据相关的标识符。

循环遍历多个集合并适当插入它们的惯例是什么?

目前我只能让他们中的一个工作,即学生证:

CREATE OR REPLACE TYPE studentIDs IS VARRAY (256) OF NUMBER;
CREATE OR REPLACE TYPE studentBio IS VARRAY (256) OF NUMBER;

BEGIN
   FORALL i IN 1..studentIDs.COUNT
      INSERT INTO test_bulk(Id, Student_id, StudentBioId) 
      VALUES  (-1, studentIDS(i), null);
END;

非常感谢建议/例子。

亲切的问候,

0 个答案:

没有答案