创建和使用 SPL 例程 / 处理集合 |
您可将值插入至集合内,而不声明游标。如果该集合为 SET 或 MULTISET,则将该值添加到集合,但不定义新元素的位置,因为该集合没有特定的顺序。如果该值为 LIST,则您可将新元素添加在 LIST 中特定的位置,或添加在 LIST 的末尾。
图: 将值插入至集合。
CREATE PROCEDURE new_emp( emp VARCHAR(30), mgr VARCHAR(30) ) DEFINE r SET(VARCHAR(30) NOT NULL); SELECT direct_reports INTO r FROM manager WHERE mgr_name = mgr; INSERT INTO TABLE (r) VALUES(emp); UPDATE manager SET direct_reports = r WHERE mgr_name = mgr; END PROCEDURE;
此 SPL 过程将员工姓名和管理者姓名作为参数。然后,该过程为用户已输入了的管理者选择 direct_reports 列中的集合,添加用户已输入了的员工名称,并以新集合更新 manager 表。
前图中的 INSERT 语句将用户提供的新的员工姓名插入至在集合变量 r 中包含的 SET 内。然后,UPDATE 语句将新集合存储在 manager 表中。
VALUES( "SET{ 1,4,8,9 }" )
VALUES( ROW( 'Waters', 'voyager_project' ) )
VALUES( "SET{ ROW('Waters', 'voyager_project'), ROW('Adams', 'horizon_project') }")
要获取关于将值插入至集合的信息,请参阅 修改数据。