-1

「Y」、「N」、「NULL」の値を持つ pk および status 列を持つテーブル

クエリ:

ステータス列が「Y」のレコードの数を取得します。この数がレコードの合計数の 1% を超える場合は削除しないでください。それ以外の場合は、テーブル内のレコードを削除します。

私はこのようにしてみました

Declare   
  v_count Number;   
  v_count1 Number;   
BEGIN   
  v_count := select count(*) from temp; 
  v_count1 := select count(*) from temp where status = 'Y' ;

  v_count := v_count + ((0.1) * (v_count))

  if (v_count1 > v_count)
  {
    insert into  temp1 values(pk,status)
  } 
  else
  {   
    Delete from temp ;
  }
END;
4

1 に答える 1

0
Declare   
v_count Number;   
v_count1 Number;   
BEGIN   
select count(*) into v_count from temp; 
select count(*) into v_count1 from temp where status = 'Y' ;

v_count := v_count + ((0.01) * (v_count))

if (v_count1 > v_count)
{
  insert into  temp1 values(pk,status)
} 
else
{   
  Delete from temp ;
}
END;

関数のSQLクエリを次のように修正してください.......お楽しみください

于 2012-12-18T11:22:15.580 に答える