ERROR at line 8: PL/SQL: Statement ignored
CREATE OR REPLACE PROCEDURE POS(A IN NUMBER,M IN NUMBER,TOTAL OUT NUMBER)
AS
BEGIN
TOTAL:=0;
WHILE A>0 LOOP
M:=MOD(A,10);
TOTAL:=TOTAL+M;
A:=(A/10);//statement ignored error
END LOOP;
DBMS_OUTPUT.PUT_LINE(TOTAL);
END;
DECLARE
X NUMBER;
Y NUMBER:=5;
Z NUMBER;
BEGIN
POA(X,Y,Z);
END;
-3
A
答えて
0
OK、私はあなたのプロシージャを見て、あなたが持っている問題を解決しようとしました。
あなたは達成しようとしていることについて多く(または実際には何も)説明していないため、答えを得ることが本当に難しいです。 ここにいる人は本当に助けたいと思っていますが、少なくとも助けを提供するためには魔法使いのツールを私たちに与えなければなりません。
とにかく、仮定のホストと、ここにあなたの手順の私のバージョンは以下の仮定である:
- あなたの手順では、POSは(あなたはそれがプロシージャ定義にPOSの名前が、その後、それを実行しようとする名前ですPOAとして)。
- 主な問題は、ループ内の入力パラメータ「a」に新しい値を割り当てることでした。それは入力パラメータなので不変で、新しい値を代入することはできません。私はローカル変数 "v_iter"を宣言し、 "a"の値を代入し、それを使ってループを制御することで、これを丸めました。
- 予期しないエラーを処理し、そのエラーをDBMS_OUTPUT経由で出力するために、「例外」セクションを追加しました。これをより堅牢にしたいと思うかもしれません。
- 入力パラメータ "a"がnullまたは有効な数値(つまり、負ではない)であるかどうかを確認するためにテストすることはありません。ここで
変更されたコードです:
CREATE OR REPLACE
PROCEDURE POS (
a IN NUMBER,
m IN NUMBER,
total OUT NUMBER
)
AS
— Declare variables
v_iter NUMBER := a;
BEGIN
— Initialise total
total := 0;
— Loop through “v_iter”
WHILE v_iter > 0
LOOP
m := MOD(v_iter,10);
total := total + m;
v_iter := (v_iter/10);
END LOOP;
DBMS_OUTPUT.put_line(total);
EXCEPTION
WHEN others
THEN
— Output and raise an error;
DBMS_OUTPUT.put_line(sqlerrm);
RAISE;
END POS;
/
それを呼び出すために:
DECLARE
X NUMBER;
Y NUMBER:=5;
Z NUMBER;
BEGIN
POS(X,Y,Z);
END;
/
はそれがお役に立てば幸いです。
関連する問題
- 1. 14行目のエラー:PL/SQL:SQL文が無視されました
- 2. カスタムX509SecurityTokenManagerが無視されました
- 3. 足場が無視されました
- 4. Chronosドッカーパラメータが無視されました
- 5. require_onceが無視されました
- 6. diff中に行内のパターンは無視されますが、行全体では無視されます
- 7. NSAttributedString '\ n'は無視されました
- 8. PLSQLプロシージャ実行エラーが無効です。
- 9. SVN無視無視されます
- 10. cinは文字を無視しますか? !!!無視されたeof文字の-0の値を返す
- 11. Automapperは、2番目のレベルのネストされたプロパティを無視しません。
- 12. ITuner :: put_TuneRequest()呼び出しが無視されました
- 13. InternetExplorerでアクティブなタブが無視されるInternet Explorer 8用のCOMオブジェクト
- 14. JQuery(Javascript)でif文が無視されています
- 15. Apache2 mod_perl最後に変更されたヘッダが無視されました
- 16. JSF入力IDがh内で無視されました:dataTable
- 17. ie8/9でCSVファイルのダウンロードが無視されました
- 18. ホストファイルが無視されましたMac 10.11.4 El Capitan
- 19. WCF:ルート要素のXmlSerialization属性が無視されました
- 20. touchesBeganがuiresponderのサブクラスで無視されました
- 21. Selenium Firefox with Python3 FirefoxProfile.set_preference()が無視されました
- 22. order by節がcrystal user definedコマンドで無視されました
- 23. mavenプラグインがローカルのpomプラグインから無視されました
- 24. Googleマップv3:リファラーが無視されました
- 25. 開発サーバーでgae.unindexedが無視されましたか?
- 26. JAX-RS Jersey JSON ObjectMapper設定が無視されました
- 27. LuceneのincrementToken()最後の用語が無視されました
- 28. Mongoid制限パラメータが無視されました
- 29. DialogFragmentのサイズ(幅)が無視されました
- 30. DebuggerStepThroughが無視される
あなたのご質問はありますか? –
そこにあなたのコードにいくつかのエラーがあります。これは無料のサイトのデバッグではなく、ここに投稿する前に変数を宣言して手続きを書く方法を調べます。 – Ollie
OPエラー:authorステートメントが無視されました。 – Beege