下記のCASE式の中で質問があります。
****CASE式の使用例***************************************
SQL> set serveroutput on
SQL> DECLARE
2 v_selecter CHAR(1) := '&ランク';
3 v_result VARCHAR2(40);
4 BEGIN
5 v_result := CASE v_selecter
6 WHEN 'A' THEN '合格!'
7 WHEN 'B' THEN 'ぎりぎり合格!'
8 WHEN 'C' THEN 'もっと勉強せよ!'
9 ELSE 'ランク外。。。'
10 END;
11 DBMS_OUTPUT.PUT_LINE('評価:' || v_result);
12 END;
13 /
ランクに値を入力してください: c
旧 2: v_selecter CHAR(1) := '&ランク';
新 2: v_selecter CHAR(1) := 'c';
評価:ランク外。。。
PL/SQLプロシージャが正常に完了しました。
*******************************************************
変数宣言部分「v_selecter CHAR(1) := '&ランク';」なんですが
「'&ランク'」では一体どのような処理行われているのですか???
「&」が何かのキーワードであるはずで
それを参考本などから調べてもどれも「&」には触れず
サラッと流れているんです(T□T;)
なぜ値の入力が求められてくるのですか?
どなたかこの処理内容をを教えてください!
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
普通に文法から考えて'c'も'&ランク'も両方ELSEの'ランク外。
。。'になるのは当たり前の訳で・・・。''で囲まれていればそれは全て文字列であるので、&がキーワードになっていることは考えられません。
'c'で'もっと勉強せよ!'が出てこないのは、'C'でないから・・・。
大文字と小文字は区別されますよ。
この回答への補足
なるほど~。
大文字と小文字は区別されるんですね。
ありがとうございます!「
あとひとつ質問よろしいですか?
ではCASEで「v_selecter」の値を比較をしているのですが
初期設定では「&ランク」で設定していますよね?
その後「ランクに値を入力してください: 」という
プロンプト的な動きが出るのはどうしてでしょうか???
その入力した値でCASE文比較に入っているんです。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Rでのスクリプトのご相談 3 2022/12/08 16:22
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) ExcelVBA No.を自動連番で設定をしながらデータ入力をしたい 2 2022/08/03 18:19
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブル結合について、下記SQL...
-
Oracle 9iで英字を含まないレコ...
-
あるカラムのMAX値+1をINSERTし...
-
複数条件に当てはまる行の抽出...
-
GROUP BYを行った後に結合した...
-
Oracleでの文字列連結サイズの上限
-
Accessで別テーブルの値をフォ...
-
SELECTで1件のみ取得するには?
-
select insertで複数テーブルか...
-
カレントレコードが無い事を判...
-
Excelでセルの書式設定を使用し...
-
Date型にNULLをセットしたい V...
-
データセットのレコード更新が...
-
select句副問い合わせ 値の個...
-
SQL文で右から1文字だけ削除す...
-
ADO VBA 実行時エラー3021
-
SELECTの結果で同一行を複数回...
-
Accessでのレコード存在チェック
-
エクスプローラーで「2つの条件...
-
弥生販売08 得意先分類1の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードが選択されないときの...
-
複数行を1行にするSQL
-
sqlのwhereで指定した条件の前...
-
あるカラムのMAX値+1をINSERTし...
-
外部結合に条件をつけたい
-
ループの仕方
-
Oracle8iでSQL文の引数について
-
テーブル結合について、下記SQL...
-
sumやcount関数について
-
PL/SQLの基礎的な質問ですが・・
-
SQLPLUSにて演算子を使う方法と...
-
複数条件に当てはまる行の抽出...
-
distinct句を使わずレコード総...
-
GROUP BYを行った後に結合した...
-
Accessで別テーブルの値をフォ...
-
Oracleでの文字列連結サイズの上限
-
SELECTで1件のみ取得するには?
-
SQL文で右から1文字だけ削除す...
-
GROUP BYを使ったSELECT文の総...
-
select句副問い合わせ 値の個...
おすすめ情報