0

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; 
4

1 に答える 1

1

質問は非常にあいまいですが、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句を使用してこれを処理しTOO_MANY_ROWSNO_DATA_FOUND例外をキャッチできます。

于 2013-03-12T10:21:04.543 に答える