1

私は次のことをしたいOracleの複雑すぎる世界に戻ってきました:

  • データベースにレコードを挿入する
  • もう一度レコードを選択
  • すべてを元に戻す

失敗する次のコードを作成しました

BEGIN

insert into sometable values (1, 1, 'test', 'test', 1, 'a', 1, 1, 1, 'test', 'test', 'test', 'test', 1);

select *
from sometable
where id = 1;

ROLLBACK;

END;

エラーメッセージ:

ORA-06550: line 5, column 1:
PLS-00428: an INTO clause is expected in this SELECT statement

問題は明らかだと思いますが、ドキュメントを確認しましたが、そこから知恵を得ることができません。任意のポインタをいただければ幸いです。

4

2 に答える 2

3

選択した値を次のような変数に入れる必要があります

DECLARE 
  V_COUNT NUMBER;
BEGIN

insert into sometable values (1, 1, 'test', 'test', 1, 'a', 1, 1, 1, 'test', 'test', 'test', 'test', 1);

select COUNT(1) INTO V_COUNT 
from sometable
where id = 1;

ROLLBACK;

END;
于 2012-04-26T13:32:20.153 に答える
3

BEGIN..END; なしで SQL*Plus からコードを実行するだけです。

insert into sometable values (1, 1, 'test', 'test', 1, 'a', 1, 1, 1, 'test', 'test', 'test', 'test', 1);

select *
from sometable
where id = 1;

ROLLBACK;
于 2012-04-26T13:55:09.697 に答える