[解決済み] PL/SQLプロシージャ - SQLステートメント無視エラー
2022-02-19 20:59:10
質問
ウェブサイトからチュートリアルを行っています。 http://www.plsqltutorial.com/plsql-procedure/ . 私はapexでコードを実行しました。
CREATE OR REPLACE PROCEDURE adjust_salary(
in_employee IN EMPLOYEES.EMPLOYEE_ID%TYPE,
in_percent IN NUMBER
) IS
BEGIN
UPDATE EMPLOYEES
SET salary = salary + salary * in_percent / 100
WHERE employee_id = in_employee_id;
END;
が、エラーになりました。
Error at line 6: PL/SQL: SQL Statement ignored
4. ) IS
5. BEGIN
6. UPDATE EMPLOYEES
7. SET salary = salary + salary * in_percent / 100
8. WHERE employee_id = in_employee_id;
確認したところ、employeesテーブルは存在しました。 何が問題で、どのように修正すればいいのでしょうか?
解決方法は?
<ブロッククオートWHERE employee_id = in_employee_id;
in_employee_id
は宣言されておらず、パラメータでもありません。関数の定義によると、パラメータは
in_employee
ということで、コードブロックは次のようになります。
CREATE OR REPLACE PROCEDURE adjust_salary(
in_employee IN EMPLOYEES.EMPLOYEE_ID%TYPE,
in_percent IN NUMBER
) IS
BEGIN
UPDATE EMPLOYEES
SET salary = salary + salary * in_percent / 100
WHERE employee_id = in_employee;
END;
記事を見ると、関数を作成する際にタイプミスをしているようですが、記事通りの関数宣言は
CREATE OR REPLACE PROCEDURE adjust_salary(
in_employee_id IN EMPLOYEES.EMPLOYEE_ID%TYPE,
そのため、上記のようなコードに変更しても、update文の変更は必要ありません。
関連
-
Navicat PremiumツールでOracleデータベースをMySQLに移行する
-
Oracleのカンマ区切り文字列を複数行に分割したデータ例
-
[解決済み] エラーを取得する - ORA-01858: 数値が期待される場所で非数値文字が見つかりました。
-
[解決済み】Oracle "SQL Error: Missing IN or OUT parameter at index:: 1" と表示されました。
-
[解決済み】Oracle Databaseで「SET DEFINE OFF」を使用するタイミングと理由
-
[解決済み] Oracle の起動ができません - ORA-00845: MEMORY_TARGET はこのシステムでサポートされていません - しかし、メモリサイズは問題ないようです。
-
[解決済み] ORA-00119: 無効な仕様 ORA-00132: 構文エラー
-
[解決済み] BATCHEDのインデックスによるテーブルアクセスとROWIDのインデックスによるテーブルアクセスの違い
-
[解決済み] SQL Serverでストアドプロシージャ内のテキストを検索する
-
[解決済み] SQL Serverにおける関数とストアドプロシージャの比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Oracle Dbeaver ストアドプロシージャの構文説明
-
PLSQLDeveloper14を使用したOracle11gへの接続手順を詳しく伝授
-
Oracle 11g R2 インストールチュートリアル フルバージョン
-
[解決済み】ORA-30926:ソーステーブルの安定した行のセットを取得できません。
-
[解決済み] エラーを取得する - ORA-01858: 数値が期待される場所で非数値文字が見つかりました。
-
[解決済み】ソケットから読み込むデータがなくなるエラー
-
[解決済み] ORA-04021: オブジェクトのロック待ちでタイムアウトが発生しました。
-
[解決済み] ORA-30036: アンドゥ テーブルスペース 'UNDOTBS' でセグメントを 8 つ拡張できません。
-
[解決済み] PLS-00103:次のいずれかを期待しているときに、記号"; "に遭遇しました。
-
[解決済み] pl sql %NOTFOUND