初めてこちらで質問させていただきます。
どうぞよろしくお願いします。
早速ですが、
現在ストアドファンクション(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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
おすすめの美術館・博物館、教えてください!
美術館・博物館が大好きです。みなさんのおすすめをぜひお聞きしたいです。
-
今の日本に期待することはなんですか?
目まぐるしく、日本も世界も状況が変わる中、あなたが今の日本に期待することはなんですか?
-
コーピングについて教えてください
皆さんはストレスを感じたとき、どのような方法や手段、テクニックで対処していますか?
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
PL/SQLカーソルの2重FORループができません
Oracle
-
カーソル0件の時にエラーを発生させる
Oracle
-
PL/SQLのコンパイルエラーについて(ignored)
Oracle
-
-
4
Statement ignored というエラー
Oracle
-
5
SELECTで1件のみ取得するには?
Oracle
-
6
【PL/SQL】FROM区に変数を使う方法
Oracle
-
7
PL/SQL PLS-00103エラーについて
Oracle
-
8
ストアドプロシジャからストアドプロシジャを呼ぶには?
Oracle
-
9
CASE文のエラーについて
Oracle
-
10
変数が選択リストにありません
Oracle
-
11
PL/SQLでログを確認したい。
Oracle
-
12
SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について
Oracle
-
13
エラーを起こす方法
Oracle
-
14
テーブルの存在チェックについて
Oracle
-
15
PL/SQLをWindowsのBATファイルで実行するには
Oracle
-
16
GROUP BYを行った後に結合したい。
Oracle
-
17
PL/SQL exceptionを呼び出すには?
Oracle
-
18
select句副問い合わせ 値の個数が多すぎます
Oracle
-
19
テーブル名をカラムとして取得する方法
Oracle
-
20
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT INTOで一度に複数の変数...
-
SELECTした結果に行番号を求めたい
-
【SQL】他テーブルに含まれる値...
-
フラグをたてるってどういうこ...
-
右向き、左向きの速度が最大と...
-
既にテーブルが存在する場合の...
-
Access特定のテーブルを編集不...
-
「都道府県の面積の大きい順に...
-
csvデータ不要列の削除をbatフ...
-
MySQL: 複数テーブルのcount
-
SELECT の仕方 (今月のデー...
-
PostgreSQLのphpPgAdminを使って
-
ListBoxにAddItemする際、重複...
-
同一テーブル内での比較(最新...
-
JDBCを使ってdate型へのINSERT...
-
pandasでsqlite3にテーブル作成...
-
UPDATEで既存のレコードに文字...
-
行と列の入れ替え検索(行は可...
-
truncate tableを使って複数の...
-
固定長のデータをmysqlで取り込...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT INTOで一度に複数の変数...
-
SELECTした結果に行番号を求めたい
-
複数の条件に該当する結果を、...
-
UPDATEの更新前の値を取得したい
-
データの入れ替えを同時に行な...
-
数値を単一引用符で囲むのはど...
-
FETCH した行が取り出せない
-
SQLで小数点の計算がしたいです。
-
PLPGSQLでの複数行複数列
-
複数カラムでdistinct
-
pg/plsqlでのカーソルのLIK...
-
Pro*CでのSQL文について
-
副問合せで複数列の値リストの...
-
oleDBでnumeric形式の小数部分...
-
テーブル間の差分抽出方法は?...
-
【SQL】他テーブルに含まれる値...
-
フラグをたてるってどういうこ...
-
sqlに記述できない文字
-
PostgreSQLのtimestamp型で時間...
-
UPDATEで既存のレコードに文字...
おすすめ情報