如何在pl/sql脚本中调用表值?
如何在pl/sql脚本内部调用如何在pl/sql脚本中调用表值?,sql,oracle,plsql,Sql,Oracle,Plsql,如何在pl/sql脚本内部调用 SELECT d.device_id, d.state_id, ds.distributor INTO a1, b1, c1 FROM device_t d, device_smartcard_t ds WHERE d.poid_id0 = ds.obj_id0 AND d.device_id = e1.device_id; 您的问题非常模糊,但如果您希望访问PL/SQL块中的这些
SELECT d.device_id,
d.state_id,
ds.distributor
INTO a1, b1, c1
FROM device_t d,
device_smartcard_t ds
WHERE d.poid_id0 = ds.obj_id0
AND d.device_id = e1.device_id;
您的问题非常模糊,但如果您希望访问PL/SQL块中的这些值,可以执行以下操作:
declare
a1 device_t.device_id%type;
b1 device_t.state_id%type;
c1 device_smartcard_t.distributor%type;
begin
select d.device_id, d.state_id, ds.distributor
into a1, b1, c1
from device_t d
join device_smartcard_t ds
on d.poid_id0 = ds.obj_id0
and d.device_id = E1.device_id; -- (What's E1?)
-- Do what you like with a1, b1 and c1
end;
/
我冒昧地将你的交叉连接改为内部连接。请注意,如果查询返回多个或没有结果,Oracle将抛出异常;您可以使用
exception
子句处理此问题,捕获行过多
和未找到数据
异常。光标E1是从tmp\u dileep中选择的*;精确获取返回的行数超过请求的行数,就像我说的,select-into
仅在获取一条记录时有效。如果您想处理多条记录,那么您可以将其提取到游标中或使用批量收集到。。。请参阅@user2160359-若这是调用表值的意思,则需要使用显式游标来修复太多行异常。你需要做什么?要写PL/SQL程序还是一些SQL脚本?我想写PL/SQL程序。请发送一个示例程序从多个表中获取数据。我的数据在一个表中,我想从两个不同的表中获取数据(具有连接)