plsqlで最初に行を取得する方法を教えてください
PL/SQLでは、次の方法で最初のデータを取得できます。
- SELECT INTO句を使って、クエリ結果を変数に格納する:
DECLARE
first_data <table_name>%ROWTYPE;
BEGIN
SELECT *
INTO first_data
FROM <table_name>
WHERE <condition>
ORDER BY <column_name>
FETCH FIRST 1 ROW ONLY;
-- 对第一条数据进行操作
END;
- カーソル(CURSOR)を使用し、OPEN、FETCH、CLOSE のステートメントで最初のデータをフェッチします。
DECLARE
CURSOR c_data IS
SELECT *
FROM <table_name>
WHERE <condition>
ORDER BY <column_name>;
first_data <table_name>%ROWTYPE;
BEGIN
OPEN c_data;
FETCH c_data INTO first_data;
-- 对第一条数据进行操作
CLOSE c_data;
END;
カーソルを使用する場合、カーソルを開く(OPEN)→FETCH文で最初のデータを取り出す→終了後、閉じる(CLOSE)の順序を守る必要がありますのでご注意ください。