我在oracle apex中有一个区域,数据来自pl / sql。
以下是pl / sql源代码:
begin
for drow in ( select * from books where book_id = :P13_BooK_ID ) loop
htp.prn('<table border=0>
<tbody>
<tr>
<td valign=top>
<table border=0>
<tbody>
<tr>
<td >Reporting Period</td>
<td >' || to_char(drow.REPORTING_PERIOD, 'MM-DD-YYYY') || '</td>
</tr>
<tr>
<td >L Key</td>
<td >' || drow.L_KEY || '</td>
</tr>
<tr>
<td >Name</td>
<td >' || drow.BooK_NAME || '</td>
</tr>
<tr>
<td >C Type</td>
<td >' || drow.C_TYPE || '</td>
</tr>
<tr>
<td >E Count</td>
<td >' || drow.E_COUNT || '</td>
</tr>
</tbody>
</table>');
end loop;
end;
/
现在我想在这个区域中添加另外两个细节(校长,导演),这个区域在另一个名为school的表格中,我在这两个表格中有一个共同的专栏,school as books.l_key = school.k_key。< / p>
如何在上面的区域中添加这两个细节,两个表中都有许多常见的列名,所以当我尝试:
for drow in ( select * from books b, school s where book_id = :P13_BooK_ID and books.l_key =school.k_key) loop
它显示我的错误
ORA-06550:第4行,第2列:PLS-00402:SELECT列表中需要的别名 游标以避免重复的列名称ORA-06550:第4行,第2列: PL / SQL:忽略语句
有人可以告诉我如何在区域内添加这两个细节。感谢
答案 0 :(得分:0)
如错误所示,您需要指定光标中要包含的列,并为其指定不同的别名。例如,如果两个表中都有列ID,为了避免不确定的行为,您需要像这样指定游标:
for drow in ( select b.id books_id, s.id school_id from books b, school s where b.book_id = :P13_BooK_ID and books.l_key =school.k_key) loop
并相应地访问它们,即drow.books_id或drow.school_id。