所以,问题出在标题中。我有一个产生我的变量的select语句。这很好,因为我已经用我能想到的一切可能的方式测试了它。我也有一个有效的HTML电子邮件正文。但是,当我尝试在HTML正文中显示我的变量时,翻译中的内容会丢失。所有表格单元格显示都是& v_pidm,& v_name等等。
这是声明声明:
declare
subj varchar2(255) := 'Course Withdrawal Request - Complete';
to_ varchar2(255) := 'someone@somewhere.edu';
cc_ varchar2(255):= 'someone@somewhere.edu';
from_ varchar2(255) := V('APP_USER')||'@somewhere.edu';
body varchar2(32767);
style varchar2(500);
v_pidm number;
v_name varchar(255) := 'stu_name';
v_subj varchar(255);
v_crse varchar(255);
v_crn varchar(255);
v_title varchar(255);
v_term varchar(255);
v_status varchar(255);
v_comment varchar(255);
begin
这是select语句:
Select distinct(ZSARWST_PIDM)
,spriden_first_name||' '||spriden_last_name stu_name
, zsrrwct_subj
, zsrrwct_crse
, zsrrwct_crn
, nvl(ssbsect_crse_title,scbcrse_title) title
, zsrrwct_term
, zsrrwct_crse_stat_ind
, zsrrwct_comment
into v_pidm, v_name, v_subj, v_crse, v_crn, v_title, v_term, v_status, v_comment
from ZRESWITHDRAW.zsrrwct
join zreswithdraw.zsarwst on zsarwst_id = zsrrwct_rwst_id
join spriden on spriden_pidm = ZSARWST_PIDM
join ssbsect on ssbsect_term_code = zsrrwct_term
and ssbsect_crn = zsrrwct_crn
--and ssbsect_ptrm_code = sobptrm_ptrm_code
and ssbsect_subj_code = zsrrwct_subj
and ssbsect_crse_numb = zsrrwct_crse
left join scbcrse on scbcrse_subj_code||scbcrse_crse_numb = ssbsect_subj_code||ssbsect_crse_numb
and scbcrse_eff_term = (select max(j.scbcrse_eff_term)
from scbcrse j
where j.scbcrse_subj_code||j.scbcrse_crse_numb = scbcrse.scbcrse_subj_code||scbcrse.scbcrse_crse_numb
and j.scbcrse_eff_term <= zsrrwct_term)
where spriden_change_ind is null
and zsrrwct_rwst_id = :P5_zsarwst_id;
我不能分享所有的HTML,因为其中一些是特定于品牌的,但这里是html特定于我想要做的事情:
<style>
.demo {
border:1px solid #C0C0C0;
border-collapse:collapse;
padding:10px;
}
.demo th {
border:1px solid #C0C0C0;
padding:10px;
background:#F0F0F0;
}
.demo td {
border:1px solid #C0C0C0;
padding:10px;
}
</style>
<table class="demo" align="center">
<tbody>
<tr>
&v_pidm, &v_name, &v_subj, v_crse, v_crn, v_title, v_term, v_status, v_comment
</tr>
</tbody>
</table>
当这产生结果时,表行只是读取:
&amp; v_pidm,&amp; v_name,&amp; v_subj,v_crse,v_crn,v_title,v_term,v_status,v_comment
完全没有实际变量。
如果有更多信息可以派上用场,请告诉我,我会尽我所能。 PHP不是一个选项,除非它是唯一的选择。
谢谢!
答案 0 :(得分:1)
您已将HTML字符串与select中的变量连接起来。像这样:
declare
some_variable varchar2(2000);
html varchar2(4000);
begin
select 'something' into some_variable from dual;
html:='<table class="demo" align="center">
<tbody>
<tr>
'||some_variable||'
</tr>
</tbody>
</table>';
end;