【发布时间】:2015-08-25 14:19:28
【问题描述】:
尝试编写存储过程。我在存储过程中有一个游标,它产生以下输出。
ID1 | Range | Action | Version | Name
--------------------------------------
1 | 1-3, | | |
| 5-7 | D | V0 | U1
2 | 10-11 | A | V0 | U2
3 | 15-18 | A | V1 | U3
其中 range 是另一个表 UPCListDetails 的 ID。
ID | UPCName
--------------
1 | Test
2 | Test1
3 | Test2
10 | Test10
...
现在我需要使用范围列查询UPCListDetails 表并生成输出
ID1 | ID | UPCName | Action | Version | Name
----------------------------------------------
1 | 1 | Test | D | V0 | U1
1 | 2 | Test1 | D | V0 | U1
1 | 3 | Test2 | D | V0 | U1
2 | 10 | Test10 | A | V1 | U2
基本上,我需要使用范围查询 UPCListDetails 表(范围列中的低值和高值)并将其存储在某个变量中,然后再次将值注入结果中。我正在阅读有关 PLSQL 集合的信息,但我无法理解它。
【问题讨论】:
-
欢迎使用 StackOverflow:如果您发布代码、XML 或数据示例,请在文本编辑器中突出显示这些行并单击“代码示例”按钮 (
{ }) 在编辑器工具栏上很好地格式化和语法突出显示它! -
id1 = 1 的游标输出是两行,还是范围列“1-3, 5-7”中的数据?
-
感谢 Boneist 的回复。它是单行。范围列值为 "1-3, 5-7" 。也可以不带“-”,如“10-11”(如上例第二行所示)
标签: sql oracle stored-procedures