Oracle:将值从表中存储到游标后,从pl/sql中的游标获取日期数据类型值

Oracle:将值从表中存储到游标后,从pl/sql中的游标获取日期数据类型值,oracle,plsql,cursor,Oracle,Plsql,Cursor,在将值从表存储到游标之后,我无法从游标获取日期数据类型值。这是我的pl/sql代码 declare pname varchar(20); dename varchar(20); dname varchar(20); addate patient.addate%type; cursor cur is select p.pname,p.pdisease,p.addate,d.dname from patient p,doctor d where p.pn

在将值从表存储到游标之后,我无法从游标获取日期数据类型值。这是我的pl/sql代码

declare
   pname varchar(20);
        dename varchar(20);
        dname varchar(20);
    addate patient.addate%type;
cursor cur is select p.pname,p.pdisease,p.addate,d.dname from patient p,doctor d where p.pno=d.pno;
begin
dbms_output.put_line('details');
open cur;
loop
fetch cur into pname,dename,addate,dname;
exit when cur%notfound;
dbms_output.put_line(pname||' '||pdisease||' 'addate||' 'dname);
end loop;
end;
/

Here in this code I am getting error like
ERROR at line 13:
ORA-06550: line 13, column 47:

    PLS-00103: Encountered the symbol "ADDATE" when expecting one of the following:
    ) , * & = - + < / > at in is mod remainder not rem =>
    <an exponent (**)> <> or != or ~= >= <= <> and or like like2
    like4 likec as between from using || member submultiset
声明
pname-varchar(20);
德纳姆·瓦尔查尔(20);
dname-varchar(20);
添加患者。添加%类型;
光标cur是从患者p、医生d中选择p.pname、p.pdise、p.addate、d.dname,其中p.pno=d.pno;
开始
dbms_output.put_行('details');
开放cur;
环
将cur取到pname、dename、addate、dname中;
未找到cur%时退出;
dbms|u output.put|u line(pname | |“”| | | pdisease | |“”addate | |“”dname);
端环;
结束;
/
在这段代码中,我得到了如下错误
第13行错误:
ORA-06550:第13行第47列:
PLS-00103:在预期以下情况时遇到符号“ADDATE”:
),*&=-+在in处为mod余数而非rem=>
或者!=或~=>=
dbms|u output.put|u line(pname | |“”| | | pdisease | |“”addate | |“”dname)

您缺少
addate
dname
串联运算符。纠正它,它应该工作:

dbms_output.put_line(pname||' '||pdisease||' '||addate||' '||dname);