通过触发器PLSQL获取新插入的记录时出错

通过触发器PLSQL获取新插入的记录时出错,plsql,triggers,bound-variable,Plsql,Triggers,Bound Variable,我正在尝试在EMP表上创建一个触发器,该触发器将审核EMP_审核表中的插入,并向相应的empno发送邮件。我没有得到的是在v_block_查询中生成的CSV附件中获取新插入的记录。我想获取:new.FIELD\u NAME的数据基础,但它抛出了错误: ORA-01008:并非所有绑定的变量ORA-06512:at “插入后的SCOTT.EMP_”,第18行ORA-04088:执行过程中的错误 插入后触发“SCOTT.EMP” 请帮忙。提前感谢 v_block_qry := 'SELECT ''"

我正在尝试在EMP表上创建一个触发器,该触发器将审核EMP_审核表中的插入,并向相应的empno发送邮件。我没有得到的是在v_block_查询中生成的CSV附件中获取新插入的记录。我想获取:new.FIELD\u NAME的数据基础,但它抛出了错误:

ORA-01008:并非所有绑定的变量ORA-06512:at “插入后的SCOTT.EMP_”,第18行ORA-04088:执行过程中的错误 插入后触发“SCOTT.EMP”

请帮忙。提前感谢

v_block_qry := 'SELECT ''"'' || BRANCH_NUMB || ''", "'' || LOAN_CODE || ''", "'' || LOAN_PRODUCT_NUMB || ''"
               , "'' || BRM_NUM || "'', "'' || CURR_CODE || "'', "'' || NAME_DESN || ''", "'' || CNIC_NUMB || ''"
               , "'' || PRINCIPAL_NEW || ''", "'' || AMOUNT_APPLIED_NEW || ''", "'' || ACCT_BASC || ''", "'' || ACCT_SFIX || ''"
               , "'' || DATE_ADDED_NEW || ''", "'' || DATE_DUE_NEW || ''", "'' || B_STATUS || ''", "'' || S_STATUS || ''", "'' || DISB_TOTAL_AMOUNT_NEW || ''"''
               , "'' || OUTSTANDING_PRINCIPAL_NEW || ''", "'' || GROUPBR_NEW || ''", "'' || INSERTED_DATE || ''"''


               AS ROWTXT FROM SMFB.LMFLOANSNEW where branch_numb='||:new.branch_code;
未在预期位置找到from关键字。这是现场环境。以前的代码出现在我的数据库上:='SELECT''''''''''''''''''''''''''''''''''''贷款代码'''''''''''''''贷款产品| | | | |'' “,”BRM|u NUM | | | | |“,”CURR|u CODE | | |“,”NAME|u DESN | |“,”CNIC|u NUM | | |” “,”委托人| | | | | | | | | |金额| | | | | | | | | | | | |”,“| | | | | | | | | | | | “,”日期“,”新增“,”到期日“,”新增“,”解散总额“,”新 “,”杰出校长| | | | | | |“,”团体| |新| |“,”插入| | |“

" 作为ROWTXT

           FROM SMFB.LMFLOANSNEW where branch_numb = :new.branch_code;
您不能在查询中使用
new.empno
new.ename

替换

(SELECT ''"'' || new.empno || ''", "'' || new.ename || ''", "'' || insertion_date ||''"'' )
在您的查询中使用

(SELECT ''"'' || empno || ''", "'' || ename || ''", "'' || insertion_date ||''"'' )

在动态语句中不能使用
列名
表名
作为绑定变量。您能告诉我以CSV格式插入行的其他方法吗?当需要以下PLS 00103之一时,它给出了符号“as”。
(SELECT ''"'' || new.empno || ''", "'' || new.ename || ''", "'' || insertion_date ||''"'' )
(SELECT ''"'' || empno || ''", "'' || ename || ''", "'' || insertion_date ||''"'' )