PL / SQLブロックの何が問題になっていますか?

Tamkahneタイル

私は学生の平均点数を計算するプログラムを書きました:

DECLARE 
    rno   NUMBER(10); 
    wt    NUMBER(10); 
    dbms  NUMBER(10); 
    se    NUMBER(10); 
    toc   NUMBER(10); 
    per   FLOAT(10); 
    total NUMBER(10); 
BEGIN 
    rno := &rno; 
    wt := &wt; 
    dbms := &dbms; 
    se := &se; 
    toc := &toc; 

    IF( wt < 40 OR se < 40 OR toc < 40 OR dbms < 40 ) THEN 

        dbms_output.Put_line('Fail'); 
        total := ( wt + se + toc + dbms ); 
        per := ( total / 400 ) * 100; 

        IF( per > 75 ) THEN 
            dbms_output.Put_line('grade A'); 
        ELSIF( per > 65 AND per < 75 ) THEN 
            dbms_output.Put_line('grade B'); 
        ELSIF( per > 40 AND per < 65 ) THEN 
            dbms_output.Put_line('grade c'); 
        ELSE 
            dbms_output.Put_line('Invalid Input'); 
        END IF; 

        dbms_output.Put_line('percentage is' ||per); 
    END IF; 
END; 
/ 

プログラムにエラーはありません。ただし、プログラムの出力は次のとおりです。

Enter value for rno: 1
old  10:  rno:=&rno;
new  10:  rno:=1;
Enter value for wt: 23
old  11:  wt:=&wt;
new  11:  wt:=23;
Enter value for dbms: 56
old  12:  dbms:=&dbms;
new  12:  dbms:=56;
Enter value for se: 74
old  13:  se:=&se;
new  13:  se:=74;
Enter value for toc: 84
old  14:  toc:=&toc;
new  14:  toc:=84;

PL/SQL procedure successfully completed.

SQL> /
Enter value for rno: 2
old  10:  rno:=&rno;
new  10:  rno:=2;
Enter value for wt: 45
old  11:  wt:=&wt;
new  11:  wt:=45;
Enter value for dbms: 25
old  12:  dbms:=&dbms;
new  12:  dbms:=25;
Enter value for se: 73
old  13:  se:=&se;
new  13:  se:=73;
Enter value for toc: 22
old  14:  toc:=&toc;
new  14:  toc:=22;

PL/SQL procedure successfully completed.

プログラムは「if」ステートメント以降に到達しません。助けてください。

Rika

ここに記載されているように、SQL Developer変数の値を印刷する場合、 SQL Developerを使用している場合は、VIEW _> DBMS_OUTPUTをオンにしてから、緑色のプラス記号をクリックして出力を有効にする必要があります。これは私のコンピューターで動作します。以前は動作していませんでしたが、現在実行していることを実行しています。これで、あなたが行ったコードは私のコンピューターで正常に機能し、次の出力が得られます。

Fail
Invalid Input
percentage is10

SQL_Plusの場合

serveroutputをオンに設定します

2つのことをします:

1)各ステートメントの後に出力をダンプするようにSQLPLUSに指示します2)sqlplusにdbms_output.enableを発行させます

編集:あなたの質問の2番目の入力は実際には大丈夫でした

Fail
grade c
percentage is41.25

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PL / SQLコードでのこのブール変数の宣言と使用法の何が問題になっていますか?

分類Dev

このコードがPL / SQLのIFブロックに入らないのはなぜですか?

分類Dev

匿名PL / SQLブロックで例外がすぐに発生しないのはなぜですか?

分類Dev

こんにちは私はPL / SQLレクサーエラーが何を意味するのか疑問に思っています:文字列が終了していませんか?私はそれを研究してきましたが、私はそれを得ることができないようです

分類Dev

PL / SQLブロックの実行に時間がかかる

分類Dev

PL / SQLがロールによって付与された権限を尊重しないのはなぜですか?

分類Dev

PL / SQLブロックが一時テーブルを作成しないのはなぜですか?

分類Dev

PL / SQLのWHERECURRENT OF

分類Dev

PL / SQLの例外

分類Dev

PL / SQL例外

分類Dev

PL/SQL Compare XMLTypes

分類Dev

For Loop in PL/SQL

分類Dev

pl/sql handling duplicate

分類Dev

Pl/sql if statement

分類Dev

Oracle NOT pl / sql

分類Dev

PostgreSQLのPL / Python

分類Dev

TKPROFファイルにPL / SQLブロックのフェッチ数が表示されないのはなぜですか?

分類Dev

PL / SQLブロックの値をUNIX変数に格納しようとしています

分類Dev

Webプロジェクトで使用しているプロシージャ内のPL / SQLブロックの更新に時間がかかりすぎています

分類Dev

バインド変数を持つ誤ったPL / SQLブロックを含むdbms_sql.parseが予期せず成功するのはなぜですか?

分類Dev

オブジェクトが参照によって更新されていません。ロジックの何が問題になっていますか?

分類Dev

頻繁なアイテムセットに関するPL / SQLの問題

分類Dev

セーブポイントがない場合にpl/sqlで最初にロールバックする方法は?

分類Dev

最高/最低のpl / sql

分類Dev

PL / SQLの連結

分類Dev

Pl / SQL表の分割

分類Dev

PL / SQLの再帰

分類Dev

OracleのSQLの何が問題になっていますか?

分類Dev

Oracle PL / SQLの一般的なロールバックロジックは何ですか

Related 関連記事

  1. 1

    PL / SQLコードでのこのブール変数の宣言と使用法の何が問題になっていますか?

  2. 2

    このコードがPL / SQLのIFブロックに入らないのはなぜですか?

  3. 3

    匿名PL / SQLブロックで例外がすぐに発生しないのはなぜですか?

  4. 4

    こんにちは私はPL / SQLレクサーエラーが何を意味するのか疑問に思っています:文字列が終了していませんか?私はそれを研究してきましたが、私はそれを得ることができないようです

  5. 5

    PL / SQLブロックの実行に時間がかかる

  6. 6

    PL / SQLがロールによって付与された権限を尊重しないのはなぜですか?

  7. 7

    PL / SQLブロックが一時テーブルを作成しないのはなぜですか?

  8. 8

    PL / SQLのWHERECURRENT OF

  9. 9

    PL / SQLの例外

  10. 10

    PL / SQL例外

  11. 11

    PL/SQL Compare XMLTypes

  12. 12

    For Loop in PL/SQL

  13. 13

    pl/sql handling duplicate

  14. 14

    Pl/sql if statement

  15. 15

    Oracle NOT pl / sql

  16. 16

    PostgreSQLのPL / Python

  17. 17

    TKPROFファイルにPL / SQLブロックのフェッチ数が表示されないのはなぜですか?

  18. 18

    PL / SQLブロックの値をUNIX変数に格納しようとしています

  19. 19

    Webプロジェクトで使用しているプロシージャ内のPL / SQLブロックの更新に時間がかかりすぎています

  20. 20

    バインド変数を持つ誤ったPL / SQLブロックを含むdbms_sql.parseが予期せず成功するのはなぜですか?

  21. 21

    オブジェクトが参照によって更新されていません。ロジックの何が問題になっていますか?

  22. 22

    頻繁なアイテムセットに関するPL / SQLの問題

  23. 23

    セーブポイントがない場合にpl/sqlで最初にロールバックする方法は?

  24. 24

    最高/最低のpl / sql

  25. 25

    PL / SQLの連結

  26. 26

    Pl / SQL表の分割

  27. 27

    PL / SQLの再帰

  28. 28

    OracleのSQLの何が問題になっていますか?

  29. 29

    Oracle PL / SQLの一般的なロールバックロジックは何ですか

ホットタグ

アーカイブ