
初めてこちらで質問させていただきます。
どうぞよろしくお願いします。
早速ですが、
現在ストアドファンクション(PL/pgSQL)にて以下のような形になっています。
変数d1,d2,d3に値をセットするにあたり
テーブルt1を3回スキャンしています。
これを1回のスキャンでセットするような
方法はないのでしょうか?
DECLARE
d1 integer;
d2 integer;
d3 varchar(10);
begin
select min(c1) into d1 from t1;
select min(c2) into d2 from t1;
select min(c3) into d3 from t1;
各種処理
return v;
end;
気持ち的には以下のようなSQLを書きたいのですが、
syntax error となります。
(NG例)
select min(c1) into d1,min(c2) into d2,min(c3) into d3 from t1;
何か良い案がありましたら教えてください。
「それは出来ません」と言う回答でもありがたいです。
※あきらめがつくので。。
それではよろしくお願いします。
No.3
- 回答日時:
select intoまで辿り着いているのだから、簡単に調べられると思うのですが。
。。select
式1,式2,式3
into 変数1,変数2,変数3
from 表名
のように、式と対応する変数を複数書きます。
なお、PostgreSQLでは、8.0前後くらいで構文に変更(into句の位置)があったと思います。質問にある使い方は、変更後の使い方です。
chukenkenkouさん
ありがとうございました。
おかげさまで解決しました。
確かにご指摘の通りですね。
ただ自分なりには調べて見たのですが、
マニュアル等ではこの方法を読み取れませんでした。
すみませんでした。
ご丁寧な解説感謝します。
No.1
- 回答日時:
すばやいアドバイスありがとうございます。
はい。カーソルを使えばできるだろうな。とは感じておりました。
できれば「カーソルを使わない方法」があれば教えてください。
最初の質問でこの事を記載すべきでした。
すみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCEL 行内のデータを2行に分けて、表を作り直したいのです。教えてください。 5 2023/06/25 14:00
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- 英語 burst into flamesとburst into flameの違い 6 2022/11/22 06:58
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- 物理学 平行板コンデンサに誘電率ε1を持つ誘電体1と誘電率ε2を持つ 誘電体2を隙間なく詰める。極板の面積を 1 2023/08/10 22:46
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- 数学 数1 この問題の(3)で少なくとも一方が実数解をもつ。のとき①②の式をそれぞれD1,D2とした時D1 5 2023/08/01 01:46
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Excel(エクセル) Excelについて質問があります。 関数の数値入力についてなのですが、 b1にー c1に数値 がある 2 2023/05/28 12:30
- Visual Basic(VBA) 【VBA】先月分の取得ができない理由が分かりません。 2 2022/04/24 11:16
このQ&Aを見た人はこんなQ&Aも見ています
-
カーソル0件の時にエラーを発生させる
Oracle
-
PL/SQLカーソルの2重FORループができません
Oracle
-
【PL/SQL】FROM区に変数を使う方法
Oracle
-
-
4
Statement ignored というエラー
Oracle
-
5
PL/SQLでのSQL文法
その他(データベース)
-
6
SELECTで1件のみ取得するには?
Oracle
-
7
変数が選択リストにありません
Oracle
-
8
ストアドプロシジャからストアドプロシジャを呼ぶには?
Oracle
-
9
PL/SQLでログを確認したい。
Oracle
-
10
PL/SQL PLS-00103エラーについて
Oracle
-
11
SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について
Oracle
-
12
PL/SQLをWindowsのBATファイルで実行するには
Oracle
-
13
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
14
PL/SQLで@ファイル名が反応しません
Oracle
-
15
カーソルを使って、最終行レコードの判断はどうすればよいのでしょうか。
SQL Server
-
16
【SQL】他テーブルに含まれる値に合致する行を抽出
その他(データベース)
-
17
GROUP BYを行った後に結合したい。
Oracle
-
18
CASE文のエラーについて
Oracle
-
19
エラーを起こす方法
Oracle
-
20
Oracle 2つのDate型の値の差を「分」で取得したい
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT INTOで一度に複数の変数...
-
複数の条件に該当する結果を、...
-
データの入れ替えを同時に行な...
-
Pro*CでのSQL文について
-
SQLで任意の列の最大値の定数は...
-
【SQL】他テーブルに含まれる値...
-
フラグをたてるってどういうこ...
-
sqlに記述できない文字
-
UPDATEで既存のレコードに文字...
-
'modify' 付近に不適切な構文が...
-
エラーを起こす方法
-
SQLサーバに対するSQL文で抽出...
-
truncate tableを使って複数の...
-
SELECT文の結果をDEFINEの値と...
-
オラクルのUPDATEで複数テーブル
-
既存データをINSERT文にして出...
-
結合したテーブルをSUMしたい
-
CSVファイルを読み込んでテーブ...
-
T-SQLで任意の箇所で強制終了す...
-
Accessの構成をコピーしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT INTOで一度に複数の変数...
-
複数の条件に該当する結果を、...
-
SELECTした結果に行番号を求めたい
-
データの入れ替えを同時に行な...
-
UPDATEの更新前の値を取得したい
-
pg/plsqlでのカーソルのLIK...
-
文字列の並び替えについて
-
プログラムよりファンクション...
-
oleDBでnumeric形式の小数部分...
-
PLPGSQLでの複数行複数列
-
数値を単一引用符で囲むのはど...
-
複数カラムでdistinct
-
副問合せで複数列の値リストの...
-
テーブル間の差分抽出方法は?...
-
複雑なUPDATE文2
-
ビット単位のソート
-
FETCH した行が取り出せない
-
SQLで任意の列の最大値の定数は...
-
ユーザIDのソート
-
SELECTした結果に通番を振りたい
おすすめ情報