Oracle sql*plusについて
select文で取得した値を変数に代入したく思っております。
テーブルが2つ存在し、特定のデータが一致した際のレコード行数のみを取得したいです。下記の場合は変
数の代入が可能でしょうか。
ネットを調べても同じようなケースがなく、困っております。
テーブル名:sample1
カラム:ID,Name,Code
テーブル名:sample2
カラム:ID,Company
下記にSQLのソースを記載します。
set feedback off
set heading off
set underline off
set serveroutput on
var test number;
declare
test number(3);
begin
select count(*) from sample2 where ID = ( sample1.ID from sample1 and sample1.ID = sample1.Code) into :test: from sample2;
end;
/
上記のように、sample1とsample2の
IDのデータが一致かつ、sample1のIDとCodeが一致してる場合のsample2のレコード行数を取得し、変数testに代入したいと考えております。
上記のSQLを試しましたがエラーになります。
また、select~end;間を
select count(*) into :test: from sample2
の場合(データ一致にかかわらず全てのレコード行数を表示)は問題なく代入できます。
ただ、今回は特定のデータが一致した場合の行数を変数に代入したいと思っております
修正及び、他に変数に代入ができる方法がありましたらご教授頂けると助かります。
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー