if (select ship_qty from UW_DNGATHER where ship_no=:SHIPNO and part_no=:partno) =
(select UW_SHIP_LINES.SHIP_QTY
FROM UW_SHIP,UW_SHIP_LINES
WHERE UW_SHIP.SHIP_KEY=UW_SHIP_LINES.SHIP_KEY AND UW_SHIP.SHIP_NO=:SHIPNO and part_no=:partno) then
select * from UW_ship
end if这条语句错误。我该怎么写啊
(select UW_SHIP_LINES.SHIP_QTY
FROM UW_SHIP,UW_SHIP_LINES
WHERE UW_SHIP.SHIP_KEY=UW_SHIP_LINES.SHIP_KEY AND UW_SHIP.SHIP_NO=:SHIPNO and part_no=:partno) then
select * from UW_ship
end if这条语句错误。我该怎么写啊
/试一下:select a.*
from UW_ship a,
(select ship_qty tt
from UW_DNGATHER
where ship_no = :SHIPNO
and part_no = :partno) t1,
(select b.SHIP_QTY tt
FROM UW_SHIP a, UW_SHIP_LINES b
WHERE a.SHIP_KEY = b.SHIP_KEY
AND a.SHIP_NO = :SHIPNO
and part_no = :partno) t2
where t1.tt = t2.tt;
DECLARE
DIFF_QTY NUMBER;
REF_CUR SYS_REFCURSOR;
...
BEGIN
...
SELECT UW_SHIP_LINES.SHIP_QTY - UW_DNGATHER.SHIP_QTY
INTO DIFF_QTY
FROM UW_DNGATHER,
UW_SHIP_LINES
WHERE EXISTS (SELECT 1
FROM UW_SHIP
WHERE UW_SHIP.SHIP_KEY=UW_SHIP_LINES.SHIP_KEY
AND UW_DNGATHER.SHIP_NO = UW_SHIP.SHIP_NO
AND UW_SHIP.SHIP_NO = :SHIPNO)
AND UW_DNGATHER.PART_NO = UW_SHIP_LINES.PART_NO
AND UW_DNGATHER.PART_NO = :PARTNO;
IF DIFF_QTY = 0 THEN
OPEN REF_CUR FOR SELECT * FROM UW_SHIP;
END IF;
...
END;