DECLARE linTb VARCHAR2(20);
BEGIN
linTb:='IllProcRecord';
END;
select linktableid from emrframework where inorout='0' and linktable=linTb;想实现类似以下语句的结果,为linktable用变量linTb来赋值
select linktableid from emrframework where inorout='0' and linktable='IllProcRecord';
linTb VARCHAR2(20);
V_linktableid VARCHAR2(20);
BEGIN
linTb:='IllProcRecord';select linktableid
INTO V_linktableid
from emrframework
where inorout='0' and linktable=linTb;DBMS_OUT.PUTLINE(V_linktableid );END;
DECLARE
linTb VARCHAR2(20);
str varchar2(500);
BEGIN
linTb:='IllProcRecord';
str:='select linktableid
INTO V_linktableid
from emrframework
where inorout='0' and linktable=(:1)';
EXECUTE IMMEDIATE str USING linTb;
END;
求更正此代码。谢谢
DECLARE
linTb VARCHAR2(20);
str varchar2(500);
BEGIN
linTb:='IllProcRecord';
str:='select linktableid
INTO V_linktableid
from emrframework
where inorout=0 and linktable=:linTb';
EXECUTE IMMEDIATE str using linTb;END;
DECLARE
linTb VARCHAR2(20);
str varchar2(500);
BEGIN
linTb:='IllProcRecord';
str:='select linktableid
INTO V_linktableid
from emrframework
where inorout='''||0||'''' and linktable=(:1)';
EXECUTE IMMEDIATE str USING linTb;
END;
引号内的字符串没有正确结束
'select linktableid
INTO V_linktableid
from emrframework
where inorout='''||0||''' and linktable=(:1)'
DECLARE linTb VARCHAR2(20);
BEGIN
linTb:='IllProcRecord';
execute immediate 'select linktableid from emrframework where inorout='0' and linktable='||'''linTb'''
没有用过Orcal 。
linTb VARCHAR2(20);
str varchar2(500);
BEGIN
linTb:='IllProcRecord';
str:='select linktableid
from emrframework
where inorout='0' and linktable=(:1)';
EXECUTE IMMEDIATE str INTO V_linktableid USING linTb;
DBMS_OUT.PUTLINE(V_linktableid );
END;
在execute时into即可了