【发布时间】:2019-08-25 19:17:45
【问题描述】:
我正在创建一个接受两个参数的函数。我的参数之一将用作我的语句的数据库链接。我试过连接它。我将如何实现这一目标?
显示这个错误
ORA-00923:在预期的 ORA-06512 处未找到 FROM 关键字 “NOINK.CHECK_SECOND_REF_DIE”,第 13 行。
下面是代码。
drop function check_second_ref_die;
create or replace function check_second_ref_die(lotNumber in VARCHAR2, db_link in VARCHAR2)
return varchar2
is
row_count NUMBER;
sql_statement VARCHAR2(300);
BEGIN
sql_statement := 'SELECT COUNT(*) FROM wcrepo.WCR_WAFER_REFERENCE@lepftds.itg.ti.com
WHERE waferconfigfile = (SELECT waferconfigfile FROM program_setup_rev@' || db_link ||
'WHERE device = (SELECT device FROM noink.lot WHERE lot_num = ' ||lotNumber || ')
AND setup_cnt=0) AND status =' || 'Approved' || 'AND ref_die_type =' || 'Secondary';
execute immediate sql_statement into row_count;
IF (row_count != 0) THEN
RETURN 'TRUE';
ELSE
RETURN'FALSE';
END IF;
END;
这是我尝试调用函数时的代码
SELECT CASE
WHEN check_second_ref_die ('8019572', 'rfabtwdb.dal.make.ti.com') = 'TRUE'
THEN 'EXISTS' ELSE 'NOT EXISTS'
END
AS RESULT
FROM DUAL
【问题讨论】:
-
“它不起作用” 不是很清楚。请说出发生了什么,包括您收到的任何错误消息。请记住,我们没有您的环境,我们无法运行您的代码。我们只知道您告诉我们什么。
-
我已经编辑过了。对此表示感谢和抱歉
标签: oracle function plsql dynamic-sql database-link